有些資訊在儲存時,並不需要占用乙個完整的位元組如協議包頭,而只需佔幾個或乙個二進位制位。例如在存放乙個開關量時,只有0和1兩種狀態,用一位二進位即可。
為了節省儲存空間,並使處理簡便,c語言又提供了一種資料結構,稱為「位域」或「位段」。所謂「位域」是把乙個位元組中的二進位劃分為幾個不同的區域,並說明每個區域的位數。每個域有乙個網域名稱,允許在程式中按網域名稱進行操作。這樣就可以把幾個不同的物件用乙個位元組的二進位制位域來表示。
定義:
struct 位域結構名 ;
位域列表的形式:型別說明符位網域名稱:位域長度
例如:structbs
data;
說明:data為bs變數,其中位域a佔8位,位域b佔2位,位域c佔6位。(乙個位元組8位)
struct結構體的多種宣告方式
在宣告結構體時,必須列出它包含的所有成員 語法結構struct tag variable list struct x 這個宣告建立名為x的變數,它包含四個成員。struct y 20 z 這個宣告建立名為y和z的指標變數,y是乙個陣列,它包含20個結構。z是乙個指標,指向這型別的結構。這兩個宣告是截...
Oh My C Diary 結構體變數的宣告
1 先定義結構體型別,再定義結構體型別變數。例如,日期型別可以定義為 struct date date yesterday,today,tomorrow 說明了3個日期型別的變數 yesterday today和tomorrow 2 定義型別的同時宣告變數。例如,struct date yester...
結構體型別變數的宣告方式
1.本文講述一下結構體變數的宣告方式 2.如下 include typedef structbook 這裡的book為單純的節點,但是 linklist則為乙個指標型別 int main 測試資料 0001 計算機網路 23 0002 資料結構 34 3.常見錯誤定義方式 1 錯誤定義方式1 boo...