更新時(shí)間:2020-11-30 來源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
結(jié)構(gòu)體類型與其他數(shù)據(jù)類型相同,其變量要通過數(shù)據(jù)類型定義,但結(jié)構(gòu)體類型是一種自定義數(shù)據(jù)類型,其變量定義方式與其他數(shù)據(jù)類型有些許區(qū)別。結(jié)構(gòu)體變量的定義方式主要有兩種,下面分別進(jìn)行介紹。
1、先定義結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量
先定義結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量,這種結(jié)構(gòu)體變量定義方式與其他數(shù)據(jù)類型相同,其語法格式如下:
struct 結(jié)構(gòu)體類型名 結(jié)構(gòu)體變量名;
以上一節(jié)定義的struct Student結(jié)構(gòu)體類型為例,定義該結(jié)構(gòu)體變量的示例代碼如下:
struct Student stu1,stu2;
上述代碼定義了2個(gè)結(jié)構(gòu)體類型變量stu1和stu2,這時(shí),stu1和stu2便具有了結(jié)構(gòu)體特征,編譯器會(huì)為它們分配一段內(nèi)存空間用于存儲(chǔ)具體數(shù)據(jù),具體如下圖所示。
構(gòu)體變量的定義.png)
struct Student結(jié)構(gòu)體變量stu1、stu2的存儲(chǔ)結(jié)構(gòu)
需要注意的是,使用結(jié)構(gòu)體類型定義變量時(shí),struct關(guān)鍵字不可少,struct Student作為整體才表示一個(gè)結(jié)構(gòu)體類型。缺少struct關(guān)鍵字,程序編譯不通過。錯(cuò)誤示例代碼如下:
Student stu1; //錯(cuò)誤,缺少struct關(guān)鍵字
編譯器在編譯上述代碼時(shí)會(huì)報(bào)錯(cuò),提示未定義標(biāo)識符“Student”。
2、 在定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量
定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,其語法格式如下:
struct 結(jié)構(gòu)體類型名稱
{
數(shù)據(jù)類型 成員名1;
數(shù)據(jù)類型 成員名2;
…
數(shù)據(jù)類型 成員名*n*;
}結(jié)構(gòu)體變量名列表;以定義struct Student結(jié)構(gòu)體類型,并定義struct Student類型的變量stu1、stu2為例,具體示例如下:
struct Student{
int num; char name[10];
char sex;
}stu1,stu2;上述代碼在定義結(jié)構(gòu)體類型struct Student的同時(shí)定義了結(jié)構(gòu)體變量stu1和stu2,該方式的作用與先定義結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量作用相同,其中,stu1和stu2中所包含的成員類型都是一樣的。
猜你喜歡:
c語言變量定義
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19