共用體
typedef union
strudent;
void fun_union()
列印:sizeof(studend)=2,data[0]=0xfe,data[1]=0xff,列印出0xff,暫時沒有理解(已理解),應該列印出0才對啊!如果jack.number=2;那麼列印:sizeof(studend)=2,data[0]=0x2,data[1]=0,這個能理解。
分析data[1]=0xff原因:
-2是unsigned short型別,占用2個位元組:
[-2] = [1000 0000 0000 0010]原 = [1111 1111 1111 1101]反 = [1111 1111 1111 1110]補
資料在儲存的補碼形式表示為:0xfffe,在小端模式下,data[0]取低8位就是0xfe,data[1]取高8位就是0xff。
求數能值的二進位制中1的位數
通過&實現
int fun_get_bin1_num(int x)
return count;
}
刪除字串所有空格
不用額外的空間實現
void fun_del_space(char *pstr)
++pstr;
} *ptmp = '\0';
}
巨集定義實現swap(x,y)
#define swap(x,y) x=x+y;y=x-y;x=x-y;//算術演算法
#define swap(x,y) a=a^b;b=a^b;a=a^b; or a^=b^=a;//異或,只能對int,char型別
C語言 共用體
共用體 union define crt secure no warnings include include include union 共用體,構造資料型別,也叫聯合體,用途 十幾個不同型別的變數共佔一段記憶體 相互覆蓋 共用體在型別定義的時候並不分配記憶體,定義共用體變數的時候才分配記憶體 u...
C語言共用體
小甲魚共用體 1 用typedef定義型別 用typedef宣告新的型別名來代替已有的型別名 宣告integer為整型 typedef int integer 宣告結構型別 typedef struct date 宣告num為整型陣列型別 typedef int num 100 宣告string為字...
C語言 共用體
共用體是一種特殊的資料型別,允許您在相同的記憶體位置儲存不同的資料型別。您可以定義乙個帶有多成員的共用體,但是任何時候只能有乙個成員帶有值。共用體提供了一種使用相同的記憶體位置的有效方式。為了定義共用體,您必須使用union語句,方式與定義結構類似。union 語句定義了乙個新的資料型別,帶有多個成...