結構體:不同型別變數的集合
陣列:相同型別變數的集合
struct長度=最後乙個成員大小+最後乙個成員偏移量+填充值;
結構體中的成員的偏移量需是自身長度的整數倍(不夠就填充);
結構體總長度必須是佔記憶體最大的成員的長度的整數倍。
三種方式定義結構體:
1.struct weapon;
struct weapon weapon_1;
2.1.struct weaponweapon_1;
3.struct weapon_1;
第三種定義方式無法再定義下乙個結構體變數了。
結構體初始化:
struct weapon weapon_1=;對應的
引用使用.運算子
定義 struct weapon weapon_2[2]=,};
引用 weapon_2[0].name
結構體陣列初始化 struct *** xx[2] = , };
示例**:
#include
struct weapon;
int main();
printf("%s\n,%d\n",weapon_1.name,++weapon_1.price);
struct weapon *w;
w=&weapon_1;
printf("name=%s\n,name=%s\n",(*w).name,w->name);//w->name weapon_1.name
struct weapon weapon_2[2]=,};
printf("%s\n,%d\n",weapon_2[0].name,weapon_2[1].atk);
struct weapon *p;
p=weapon_2;
printf("%s\n",p->name);//p->name weapon_2[0].name
p++;//weapon_2+1 weapon_2[1]
return 0;
}所占用的記憶體空間是成員中最長的乙個成員位元組數
union data;
int main()
重拾C 教程 結構體
在 c 中,結構體是值型別資料結構。它使得乙個單一變數可以儲存各種資料型別的相關資料。struct關鍵字用於建立結構體。結構體是用來代表乙個記錄。假設您想跟蹤圖書館中書的動態。您可能想跟蹤每本書的以下屬性 為了定義乙個結構體,您必須使用 struct 語句。struct 語句為程式定義了乙個帶有多個...
c語言複習 結構體和共用體
注 本文是對蘇小紅版c語言程式設計第12章的筆記 結構體的定義 結構體的宣告 主要目的 用已有的資料型別定義乙個新的資料型別 struct 結構體名 結構體名成為結構體標籤 e.g.struct student 注意,結構體模板只是宣告了一種資料型別,並未宣告結構體型別的變數 結構體變數的定義 方法...
C 結構體共用體
12 c 中陣列初始化的特點 初始話陣列可以省略等號 初始話內容為空 不可縮窄操作 double people double people int number 不通過,因為浮點到整形為縮窄13 sizeof 計算陣列時候會比strlen 多計算乙個0位元組 14 字串的初始化和賦值,string ...