0x12345678 在記憶體byte0, byte1, byte2, byte3中的存放方法
大端模式:
0x12
0x34
byte0
byte1
0x560x78
byte2
byte3
(2)通過程式確定大小端
/**通過共用體**/
//定義共用體
union strs1;
//判斷
int func(void)
int main()
/**通過指標**/
int func(void)
int main(void)
注意:通過位與、移位、強制型別轉換的方式是無法確定大小端,因為位操作與強制型別轉換都是編譯器層面進行的,而不是記憶體層面進行的;
/******************以下方法都是錯誤的********************/
int a = 1;
int b = a & 0xff;
int b = a >> 1;
int b = char(a);
if(b = 1)
printf("小端模式\n");
else
printf("大端模式\n");
陣列 字串 結構體 共用體 列舉
1 void 是乙個指標型別,malloc返回的是乙個void 型別的指標,實質上malloc返回的是堆管理器分配給我本次申請的記憶體空間的首位址 malloc 返回的值其實是乙個數字,這個數字表示乙個記憶體位址 為什麼要使用void 作為型別?主要原因是malloc幫我們分配記憶體是只分配了記憶體...
5 陣列 字串 結構體 共用體 列舉
堆的使用 malloc的一些細節 有些特殊資料段會被放到 段 總結 c語言沒有原生字串型別 c語言使用指標來管理字串 c語言中字串的本質 注意 儲存多個字元的2種方式 字串和字元陣列 字元陣列初始化與sizeof strlen 字串初始化與sizeof strlen 字元陣列與字串的本質差異 記憶體...
陣列與字串以及結構體還有共用體
1陣列 1.普通宣告和初始化 int nums 3 2.只宣告 int num 3 這樣陣列裡的元素值是未知的 3.只宣告,然後賦值 int num 3 num 0 1 num 1 34 num 2 9 4.文藝青年的初始化 int nums 3 第0個元素賦值為89,其他預設為0 int nums...