首頁技術(shù)文章正文

C語言中結(jié)構(gòu)體如何定義?

更新時間:2020-11-30 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

C語言中結(jié)構(gòu)體類型是由不同的類型的數(shù)據(jù)組成的,組成結(jié)構(gòu)體類型的每一個數(shù)據(jù)都稱為該結(jié)構(gòu)體類型的成員。在程序設(shè)計中,使用結(jié)構(gòu)體時,首先要對結(jié)構(gòu)體類型的組成進(jìn)行描述,結(jié)構(gòu)體的定義方式如下:

struct 結(jié)構(gòu)體類型名稱
{
  數(shù)據(jù)類型 成員名1;
  數(shù)據(jù)類型 成員名2;
  ……
  數(shù)據(jù)類型 成員名n;};

在上述格式中,struct是定義結(jié)構(gòu)體類型的關(guān)鍵字,struct關(guān)鍵字后面是結(jié)構(gòu)體類型名稱。在結(jié)構(gòu)體類型名稱下的一對大括號中,聲明了結(jié)構(gòu)體類型的成員,每個成員由數(shù)據(jù)類型和成員名共同組成。

以描述學(xué)生信息為例,假設(shè)學(xué)生信息包含學(xué)號(num)、姓名(name)、性別(sex)、年齡(age)、地址(address),那么,存儲學(xué)生信息的結(jié)構(gòu)體類型可以定義為下列格式:

struct Student{
  int num;
  char name[10];
  char sex;  int age;
  char address[30];
};

在上述定義中,結(jié)構(gòu)體類型struct Student由5個成員組成,分別是num、name、sex、age和address。

在定義結(jié)構(gòu)體類型時,需要注意以下幾點:

(1)結(jié)構(gòu)體類型定義以關(guān)鍵字struct開頭,后面跟的是結(jié)構(gòu)體類型的名稱,該名稱的命名規(guī)則與變量名相同;

(2)結(jié)構(gòu)體類型與整型、浮點類型、字符類型等類似,只是數(shù)據(jù)類型,而非變量。

(3)定義好一個結(jié)構(gòu)體類型后,并不意味著編譯器會分配一塊內(nèi)存單元存放各個數(shù)據(jù)成員,它只是告訴編譯系統(tǒng)結(jié)構(gòu)體類型由哪些類型的成員構(gòu)成、各占多少字節(jié)、按什么格式存儲,并把它們當(dāng)作一個整體來處理。

(4)定義結(jié)構(gòu)體類型時,末尾的分號不可缺少。


猜你喜歡:

C語言什么特點?具有什么優(yōu)勢? 

c語言二級指針的理解 

c語言指針詳解:什么是指針? 

黑馬程序員C/C++培訓(xùn)課程 

分享到:
在線咨詢 我要報名
和我們在線交談!