一、關於聯合體的說明
聯合體的出現是為了節省記憶體空間;聯合體分配的記憶體大小是其成員變數中最大變數的大小,而不像結構體是各個成員變數記憶體的總和。
利用聯合體成員變數共用記憶體的特點,我們可以判斷處理器的大小端模式。
二、demo
1.原始碼
test.c
#include int checksystem()
c; c.i = 1;
return (c.ch ==1);
}int main()
2.編譯
gcc test.c -o test
3.在我的主機上執行
./test
小端模式
結論:intel cpu是小端模式。 C語言關鍵字之聯合體
聯合體 union 定義 比如 typedef unionun 實驗 includeint main union test union test printf a 0x x,b 0x x n union test.a,union test.b printf sizeof union test d n...
利用聯合體完成一些資料處理的問題
聯合體的特性之一就是成員共用記憶體,以最大成員的大小開闢空間。在一些情況下,這個特性也是在其他程式設計技巧中出現的,比如資料型別的強制轉換,int t char c char t 不管資料型別怎麼轉換,都表示同一段 在同一段記憶體,這個和聯合體是相似的,比如在乙個例子中,要解決浮點數的正負判斷,一般...
《C關鍵字分析》之extern用法
一 假設為三方提供庫原始碼和標頭檔案 1.共享庫部分 sanf.c include int a void hello 編譯 gcc shared fpic o libsanf.so sanf.c 生成 libsanf.so 2.標頭檔案 sanf.h extern int a extern c 以上...