C語言 sizeof 關鍵字

2021-09-25 22:00:23 字數 1131 閱讀 2377

sizeof是c語言中保留關鍵字,也可以認為是一種運算子,單目運算子,可以計算運算元的大小。sizeof的結果是無符號整數型別,通常用size_t表示。sizeof可以應用於各種資料型別,包括基本的資料型別,例如整數和浮點型別,指標型別和符合資料型別,結構體等等。

32位編譯器:

#includeint main() 

結果:8
char a1 = "abc";

int a2[3];

sizeof( a1 ); // 結果為4,字串末尾還存在乙個null終止符

sizeof( a2 ); // 結果為3*4=12(依賴於int)

#includeint main() 

; printf("number of elements :%zu", sizeof(arr)/sizeof(arr[0]));

return 0;

}

結果:11
sizeof非常適用於動態記憶體分配。 例如,如果我們想要分配足以容納10個整數的記憶體,並且我們不知道該特定機器中的sizeof(int)。 我們可以在sizeof的幫助下進行分配。

int *ptr = malloc(10*sizeof(int));
指標是來存放位址的,等於計算機內部位址匯流排的寬度,所以在32位計算機中,乙個指標變數的返回值必定是4(注意結果是以位元組為單位)。

char* pc = "abc";

int* pi;

string* ps;

char** ppc = &pc;

void (*pf)(); // 函式指標

sizeof( pc ); // 結果為4

sizeof( pi ); // 結果為4

sizeof( ps ); // 結果為4

sizeof( ppc ); // 結果為4

sizeof( pf ); // 結果為4

指標變數的sizeof值與指標所指的物件沒有任何關係,正是由於所有的指標變數所佔記憶體大小相等。

C語言 sizeof關鍵字

一 定義及特點 在c語言中,sizeof 是返回乙個物件或者型別所佔的記憶體位元組數。需要注意的是sizeof是關鍵字,而不是函式。在計算變數所佔空間時,可以省略 在計算型別大小時,不能省略。sizeof int error sizeof i ok sizeof int ok sizeof i ok...

C語言 sizeof關鍵字詳解

一 基本概念 sizeof操作符以位元組形式給出了其運算元的儲存大小。運算元可以是乙個表示式或括在括號內的型別名。運算元的儲存大小由運算元的型別決定。二 使用方法 1 用於資料型別 sizeof使用形式 sizeof type 如sizeof int 2 用於變數 sizeof使用形式 sizeof...

C 關鍵字sizeof講解

sizeof 是乙個關鍵字,它是乙個編譯時運算子,用於判斷變數或資料型別的位元組大小。sizeof 運算子可用於獲取類 結構 共用體和其他使用者自定義資料型別的大小。其作用是返回乙個物件或型別所佔的記憶體位元組數。使用 sizeof 的語法如下 sizeof data type 1 sizeof o...