加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1.結(jié)構(gòu)體類型的定義
    • 2.結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的區(qū)別
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

結(jié)構(gòu)體類型如何定義 結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的區(qū)別

2022/02/22
3868
閱讀需 2 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論


結(jié)構(gòu)體是一種自定義類型,它允許程序員將不同類型的數(shù)據(jù)項(xiàng)組合在一起,形成一個(gè)新的數(shù)據(jù)類型。結(jié)構(gòu)體類型是通過 struct 關(guān)鍵字來定義的。

1.結(jié)構(gòu)體類型的定義

結(jié)構(gòu)體類型定義的一般形式為:

struct 結(jié)構(gòu)體標(biāo)簽 {    成員1類型 成員1名;    成員2類型 成員2名;    ……};

其中,結(jié)構(gòu)體標(biāo)簽是這個(gè)結(jié)構(gòu)體類型的名稱,成員類型表示每個(gè)數(shù)據(jù)項(xiàng)的數(shù)據(jù)類型,成員名則是每個(gè)數(shù)據(jù)項(xiàng)的名稱。

2.結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的區(qū)別

結(jié)構(gòu)體類型只是定義了一種新的數(shù)據(jù)類型,而結(jié)構(gòu)體變量則是根據(jù)這個(gè)數(shù)據(jù)類型定義的實(shí)際變量。可以把結(jié)構(gòu)體類型看成是一個(gè)模板或者藍(lán)圖,而結(jié)構(gòu)體變量則是基于這個(gè)模板創(chuàng)建的具體對象。

例如,假設(shè)現(xiàn)在要定義一個(gè)描述學(xué)生信息的結(jié)構(gòu)體,那么就可以定義以下結(jié)構(gòu)體類型:

struct Student {    char name[20];    int age;    char gender;};

在上面的結(jié)構(gòu)體類型中,Student 是這個(gè)結(jié)構(gòu)體類型的標(biāo)簽;name、age、gender 分別是成員的名稱;char 和 int 則是成員的類型。

定義好結(jié)構(gòu)體類型之后,就可以定義以下結(jié)構(gòu)體變量:

struct Student stu1;struct Student stu2;

其中,stu1 和 stu2 都是基于 Student 結(jié)構(gòu)體類型定義的實(shí)際變量。這些變量可以像普通變量一樣被使用,例如:

strcpy(stu1.name, "小明");stu1.age = 18;stu1.gender = 'M';

以上代碼向 stu1 這個(gè)學(xué)生信息變量中賦值。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜