電腦網(wǎng)站開發(fā)seo發(fā)包技術(shù)教程
位段
? ? ? ?在一個結(jié)構(gòu)體中以位(最小單位)為單位來指定其成員所占的內(nèi)存長度。位段成員名后面有一個冒號,冒號后有一個數(shù)字(這個數(shù)字是小于等于這個成員所占的位)。
typedef struct S
{char a : 2;//8char b : 8;//8char c : 4;//8char d : 2;//8
}S;
位段也需要注意幾個點:
- 位段成員只能是int(有無符號)及char這兩個類型;
- 位段開辟的空間是按照成員類型開辟的,int開辟32位,char開辟8位。
- 位段是不垮平臺的,在這個平臺使用,其他平臺使用可能不一樣,所以移植時需要考慮是否使用。
舉一個例子: (char類型也是一樣的;也可以一個結(jié)構(gòu)體中使用char和int、unsigned int)
枚舉
枚舉需要用enum構(gòu)建,枚舉是一個遞增排序的,直接舉例:
用途:枚舉可以運用在菜單欄中,通過其函數(shù)的命名可以知道函數(shù)用來做什么的,然后就是假設(shè)菜單欄有很多的函數(shù)用阿拉伯?dāng)?shù)字表示并不能知道函數(shù)的用途?(例通訊錄的增刪改查)
聯(lián)合(共用體)
聯(lián)合需要用union構(gòu)建,聯(lián)合就是共用一塊空間,要計算大小還需要運用結(jié)構(gòu)體的規(guī)則,舉例更好說明:
?假如是一個數(shù)組, 可能所占的空間不是整數(shù)倍,就需要找最近的整數(shù)倍。