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...