結構體與聯合體的區別

2021-09-09 08:24:29 字數 636 閱讀 6516

每個成員變數都單獨佔一塊記憶體,各成員在記憶體中的分布存在"記憶體對齊",64位機器按8個位元組對齊
#includeint main()

s;s.a = 'a';

s.b = 1;

s.c = 2;

s.d = null;

s.e = 3;

s.f = &s.a;

printf("size of struct s is %d\n",sizeof(s));

return 1;

}// size of struct s is 40

所有的成員變數共用一塊記憶體,"記憶體復用",一般8位元組復用
#includeint main()

u; u.a = 'a';

u.b = 1;

u.c = 2;

u.d = null;

u.e = 3;

u.f = &s.a;

printf("size of struct u is %d\n",sizeof(u));

return 1;

}// size of struct s is 8

結構體與聯合體

結構體和聯合體 圖見筆記 一.結構體概念 結果虛擬記憶體 對映到物理記憶體 二.結構體長度 三.結構體陣列 指標陣列 四.簡易通訊錄 定義開始頁面 區域性函式 1.增加使用者資訊 2.修改使用者資訊 3.查詢資訊 4.刪除資訊 5.顯示資訊 6.執行 五.聯合體的概念 結果六.判斷大小端 面試 七....

結構體與聯合體

目錄結構 聯合 區別 結構 是一種構造型別,它是由若干 成員 組成的。每乙個成員可以是乙個基本資料型別或者是另乙個構造型別。結構在說明和使用之前必須先定義。格式 struct 結構名 結構變數 結構名是結構的識別符號。結構成員的型別可以為整型 浮點型 字元型 指標型等資料型別,或者是另乙個構造型別。...

結構體聯合體

在c中,結構也是一種資料型別,可以使用結構變數,因此,象其它型別的變數一樣,在使用結構變數時要先對其定義。定義結構變數的一般格式為 struct 結構名 結構變數 結構名是結構的識別符號不是變數名。型別為第二節中所講述的五種資料型別 整型 浮點型 字元型 指標型和無值型 構成結構的每乙個型別變數稱為...