C 語言結構體的使用方法

2022-09-28 01:30:14 字數 1369 閱讀 5104

目錄

1.1 介紹

如我們可以將乙個學生的一些屬性放在一起

struct stu//定義乙個結構體型別,就如int、char,struct stu是我們定義的結構體型別

;int main()

1.2定義的幾種型別

型別1:

struct stu

;int main()

型別2:

struct stu

s1,s2;//定義全域性變數s1,s2

**如下:

struct book

b;struct stu

;int main()

};}str程式設計客棧uct book

b;struct stu

;int main()

}; //法一

printf("%s\n",a.name);

printf("%d\n",a.age);

printf("%.1f\n",a.b.height);//若訪問結構體中的結構體中的乙個成員,先訪問到內部的結構體,再訪問內部結構體中的成員

//法二

struct stu* pa=&a;

printf("%s\n",pa->name);

printf("%d\n",pa->age);

printf("%.1f\n",pa->b.height);

//法三

printf("%s\n",(*pa).name);

printf("%d\n",(*pa).age);

printf("%.1f\n",(*pa).b.height);

}注意:

結構體傳參的時候,要傳結構體的位址更好

**如下:

struct book

b;struct stu

;void print1(struct stu p)

void print2(struct stu* pa)

int main()

};

//寫乙個函式列印a的內容

print1(a);//結果為:bobo 18 2021520 15.8 free(正常列印)

//再寫乙個函式,通過傳a的位址列印a的內容

print2(&a);//結果為:bobo 18 2021520 15.8 free(正常列印)

return 0;

}那麼傳值和傳址有什麼不同,哪個更好呢?(首選傳址)

那麼什麼是函式呼叫的引數壓棧呢?

棧:一種資料結構,是一種只能在一端進行插入和刪除操作的特殊線性表

特點:先進的後出,後進的先出。(先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後乙個資料被第乙個讀出來))

壓棧:給棧裡存資料

C語言結構體使用方法

定義 關鍵字 struct struct 結構體名 結尾為分號 structstu 定義結構體變數 既然結構體是一種資料型別,那麼就可以用它來定義變數。例如 structstu stu1,stu2 定義了兩個變數 stu1 和 stu2,它們都是 stu 型別,都由 5 個成員組成。注意關鍵字str...

C語言結構體(struct)使用方法

基本定義 結構體,通俗講就像是打包封裝,把一些變數有共同特徵 比如同屬於某一類事物的屬性 的變數封裝在內部,通過一定方法訪問修改內部變數。結構體定義 第一種 只有結構體定義 struct stuff 第二種 附加變數初始化的結構體定義 直接帶變數名huqinwei struct stuffhuqin...

結構體陣列使用方法

結構體陣列 結構體陣列與數值型陣列不同之處在於每個陣列元素都是乙個結構體型別的資料,它們都分別包括各個成員項。結構體陣列的定義 和定義結構體變數的方法相仿,只需說明其為陣列即可。先定義結構體類 型再定義陣列名 在定義型別的 同時定義陣列 直接定義結 構體型別陣列 struct結構體名 struct結...