91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言怎么定義一個結構體

發布時間:2021-07-02 16:31:51 來源:億速云 閱讀:380 作者:Leah 欄目:互聯網科技

本篇文章給大家分享的是有關C語言怎么定義一個結構體,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。



首先先思考一個問題,假設某一天你去了一家策劃公司,接到了一個策劃需求,比如為新上市的某款手機寫一個市場推廣的文案,并且在電腦上面打印出來。那么在寫這個文案的時候,你肯定是會需要著重地去介紹這款手機的一些信息的,比如:手機品牌:pear,型號:13mini,機身長度:150.9mm,機身寬度:75.7mm,機身厚度:8.3mm,屏幕尺寸6.1英寸,定價5899.00等等這系列信息。要實現這一個程序非常簡單,只需要去將這些變量定義好,定義完成之后再去打印在電腦屏幕上即可,如圖1所示。
 C語言怎么定義一個結構體
圖1 定義變量去描述手機參數
這個程序非常簡單就能實現了,也非常順利就可以打印出手機主要的介紹信息。那么第二個問題來了,假設這家公司現在也學會了營銷,一次發布會會發布多款手機,這些手機分別被命名為13mini,13,13Max,13 MaxPlus,并且在一張海報上將這些手機所有維度的參數信息打印出來,就如圖1一樣,那么此時該如何處理呢?
最簡單的辦法就是分別給每個手機的手機品牌,型號,機身長度,機身寬度,機身厚度,屏幕尺寸,定價等等這系列信息定義一個變量,如型號這個信息,Pear 13可以定義為Pear13_model,Pear13 mini可以定義為Pear13Mini_model,以此類推。試想一下,每個手機我們所展現出來的信息有7個,那么4個配置的手機一共要定義28個不同的變量。這么多的變量對于程序設計來說是不友好的,因為太多的獨立的變量會讓程序看上去非常雜亂,甚至編程者自己到最后都搞不清楚這些變量的意思了。
我們再仔細觀察這些變量,其實每一個手機的變量都是固定的,就是手機品牌,型號,機身長度,機身寬度,機身厚度,屏幕尺寸,定價這七個維度的信息。那么我們是否可以將這七個信息組合成一個集合,每次增加描述新手機變量的時候,我們只需要增加一個集合,就可以同時將這七個維度的信息全都描述出來?
這種想法顯然是合理的,在C語言中,這種由多個基本變量組成的集合式的復合變量叫做結構體。當然這個定義還需要再補充一點,一個結構體也可以包含另一個結構體。
結構體在C語言中使用關鍵詞“struct“進行定義,其定義方式有兩種。
第一種方式是在定義結構體類型的時候同時定義結構體變量,其形式為:
struct 結構體標簽
{
     數據類型 成員變量名;
     數據類型 成員變量名
     ……
} 結構體變量名;
第二種方式是先定義結構體類型,再定義結構體變量,其形式為:
struct
struct 結構體標簽
{
     數據類型 成員變量名;
     數據類型 成員變量名
     ……
};//定義結構體類型
struct 結構體標簽 結構體變量1, 結構體變量2……;
當使用第一種方式時,結構體標簽可以省略。
很多讀者在第一次接觸結構體的時候,可能經常會搞不明白這里的結構體標簽,結構體變量名,結構體成員之間是什么關系。我們可以舉一個很形象的例子來解釋一下。人的思維具有一個很強大的功能,這就是概括性或者說是歸一性,表現出一點就是每個人都非常善于找規律從而對一些客觀事物的特點進行總結。比如當你描述小麗外表的時候,你會說“她有著大大的眼睛,烏溜溜的眼珠,亞麻色的長發,月光般白皙的皮膚,高挺的鼻梁,櫻桃小嘴“等,其實你以這種方式描述的時候,就已經將一個人眼睛,眼珠,頭發,皮膚,鼻梁,嘴巴等幾個方面的信息抽象出來了,而每個人都有這些信息,這里的這些信息在結構體中就相當于它的成員變量。而這些信息都是包含在”人“這個標簽中的,因此”人“這個標簽就類似于結構體中的結構體標簽。最后你描述的對象小麗,在這里就類似于具體的結構體變量名,當然你可以用同樣的信息去描述另一個人,比如小月。
言歸正傳,如何用結構體變量來實現上述手機信息的描述呢?首先,我們先定義一個結構體標簽,接著用這個標簽去定義四個具體手機的描述信息。這個結構體標簽里面應該包含手機品牌,型號,機身長度,機身寬度,機身厚度,屏幕尺寸,定價這七個成員變量。
這個結構體標簽可以寫成:
   
   
   struct Mobilephone
    {
    char *brand;
    char *model;
    float length;
    float width;
    float thickness;
    float screen_size;
    float price ;
    };
接著,使用這個結構體標簽分別去定義4個具體手機的描述信息,即定義四個結構體變量。
   
   
   Mobilephone Pear13MiniInfo, Pear13Info, Pear13MaxInfo,Pear13MaxPlusInfo;
這些結構體變量定義好了之后,我們就可以像使用普通變量一樣去使用他們了。使用的時候使用小數點“.“去獲取每個結構體變量中的成員變量,如要對Pear13MiniInfo中的brand變量賦值時,只需要使用Pear13MiniInfo. brand=”Pear”即可。因此上述的程序可以寫成如圖2所示。
C語言怎么定義一個結構體



以上就是C語言怎么定義一個結構體,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高州市| 静海县| 京山县| 房山区| 包头市| 交口县| 水城县| 康定县| 正镶白旗| 揭阳市| 福州市| 茶陵县| 吉木萨尔县| 墨江| 井冈山市| 万州区| 屏东市| 饶阳县| 凭祥市| 四川省| 石门县| 潢川县| 桂阳县| 佳木斯市| 柘荣县| 乌拉特后旗| 呼和浩特市| 博爱县| 通化县| 张北县| 福贡县| 昌宁县| 汤阴县| 军事| 沾益县| 利辛县| 米泉市| 许昌县| 金昌市| 潜江市| 华宁县|