C語言之結(jié)構(gòu)體(struct)詳解
為什么需要引入結(jié)構(gòu)體
原有的數(shù)據(jù)類型不能滿足需求,因此才設(shè)計(jì)了構(gòu)造類型結(jié)構(gòu)體
struct
定義
struct name { 基礎(chǔ)類型 結(jié)構(gòu)成員 }
1.無名構(gòu)造類型
2.有名構(gòu)造類型
struct student { char name[30]; char sex; int age; float high; }stu; struct student stu2;
3.別名構(gòu)造體類型
typedef struct student { char name[30]; char sex; int age; float high; }STUDENT; STUDENT stu, stu2;
typedef與#define
typedef是一個(gè)常用于對(duì)結(jié)構(gòu)體取別名的關(guān)鍵字,構(gòu)成的語句參與編譯,而#define是定義的宏在預(yù)處理階段就已經(jīng)處理完畢
結(jié)構(gòu)體變量初始化及成員訪問
- 初始化是一種特殊的語法不等價(jià)于賦值
- 凡是基本類型既可以定義的時(shí)候初始化也可以先定義在初始化
- 凡是構(gòu)造類型要么在定義的時(shí)候初始化,要么先定義成員再分別進(jìn)行賦值和基礎(chǔ)數(shù)據(jù)類型不同
結(jié)構(gòu)體訪問
- 點(diǎn)成員運(yùn)算符.
- 指向成員運(yùn)算符->或者(*).
struct student *pst = &st pst.age (*pst).age st.age
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C語言之實(shí)現(xiàn)單鏈表指定結(jié)點(diǎn)的插入方式
這篇文章主要介紹了C語言之實(shí)現(xiàn)單鏈表指定結(jié)點(diǎn)的插入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07c++通過引用實(shí)現(xiàn)三個(gè)數(shù)字求最大值
下面我們將通過這個(gè)例子來說明引用的作為函數(shù)參數(shù)的使用方法。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-10-10OPENMP?SECTIONS?CONSTRUCT原理示例解析
這篇文章主要為大家介紹了OPENMP?SECTIONS?CONSTRUCT原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03