在 C 語言中,sizeof() 是一個
判斷數據類型或者表達式長度的運算符,其功能是
獲取對象或者類型在內存中所占用的存儲空間,以字節為單位來計數。
C/C++中,sizeof()只是運算符號,是
編譯的時候確定大小的。動態分配是運行過程中得到大小的,也就是說C++中new出來的內存,sizeof都無法統計的,退一步說,即使是new出來的空間也有可能失敗,所以sizeof無法統計動態分配的內存大小。
主要用途:通過這個運算符計算數組中元素的個數。
1 #include<stdio.h>
2 int main(){ 3 int a = 10; 4 char b = 'b'; 5 short c = 2; 6 long d = 9; 7 float e = 6.29f; 8 double f = 95.0629; 9 int arr[] = { 1,2,3 }; 10 char str[] = "hello"; 11 double *p=&f; 12 int *i=&a; 13 //分別對各個變量使用sizeof運算printf("a=%d,b=%d,c=%d,d=%d,e=%d,f=%d,arr=%d,str=%d point_p=%d,point_i=%d\n",sizeof(a), sizeof(b), sizeof(c), sizeof(d), sizeof(e), sizeof(f),sizeof(arr), sizeof(str), sizeof(p), sizeof(i));
14 system("pause"); 15 }
//輸出的結果是:a=4,b=1,c=2,d=4,e=4,f=8,arr=12,str=6 point_p=4,point_i=4
詳解:點擊跳轉(轉載)