C C 定義變數後面加冒號,數字的含義

2021-10-25 22:16:13 字數 475 閱讀 1010

該種形式出現於結構體或共用體的定義中,是位域定義的標準形式。

其使用方式為

struct  dummystructname dummystructname;

含義為,在結構體dummystructname彙總,成員變數clonegroupid 占用空間為 n 位。

n為正整數,其值必須小於type型別占用的位數。比如type如果是int,佔4位元組32位,那麼n必須是1~31之間的整數。

對於位域型別的成員,在賦值時如果實際值超過n位所能表達的範圍,那麼超出部分將會被截掉,只儲存低位值。如int var:4,本

身只有4位的空間,如果賦值var = 20, 由於20的二進位制值為10100,實際為五位,這時var實際被賦值的就是低四位,0100,即4。

由於c/c++語言中的位址是針對位元組計算的,所以位域型別的成員變數不支援取位址操作。

即對於變數v, 如果存在位域成員變數var,那麼&a.var是非法的,編譯會出錯

python函式引數後面加冒號,函式後面加箭頭

python的函式注釋 def f text str,max len int 0 80 str 這個是函式的幫助說明文件,help時會顯示 return true 函式宣告中,text strtext 是引數 冒號後面 str是引數的注釋。如果引數有預設值,還要給注釋,如下寫。max len int...

MySQL limit後面加變數

如下所示mysql儲存過程中的一段 limit後面加了乙個變數,而不是乙個常量。declare var num1 int set var num1 10 select from test1 limit var num1 mysql 5.5 版本 以上內容在儲存過程裡可以正常執行。mysql 5.5 ...

c 成員函式後面加乙個冒號的含義

int a 10 char b r inta 10 charb r 但是括號賦值只能在變數定義並初始化中,不能用在變數定義之後再賦值。有的資料成員需要在建構函式調入之後 函式體執行之前,就進行初始化,比如引用資料成員 常量資料成員 物件資料成員。冒號初始化是在給資料成員分配記憶體空間時 進入函式體之...