㈠ c語言中sizeof是什麼意思
sizeof是C語液蠢春言的一種單目操作符,如C語言鬧耐的其他操作符++、--等,sizeof操作符以位元組形式給出了其操作數的存儲大小。操作數可以是一個表達式或括在括弧內的類型名。
使用形式:sizeof(type)。其中type如int、double等。例如sizeof(int)、sizeof(char*)、sizeof(double)。這個時候sizeof後面的類型必須用括弧()包起來,不包起來是錯誤的,通過不了編譯。其中sizeof(void*)在64位下是8,而sizeof(void)是1。其實,在C語言中sizeof(函數),如sizeof(main),結果也是1。但是在C++中,sizeof(void)和sizeof(函數)都是非法的,通過不了編譯,後面檔褲C++就不說了,現在講C嘛。其實sizeof(函數),sizeof(void)雖然是1,但是是不正確的使用方式。
㈡ C語言里sizeof(char)是什麼意思
sizeof() 是一種內存容量度量函數,功能是返回一個變數或者類型的大小(以位元組為單位)。
char是c語言中基本類型,一般char類型佔1個位元組。
sizeof(char)的結果是,1。
sizeof:計算數據類型長度
char = 1
int 2,
long 4
int a[6];
sizeof (a) 2*6= 12
單位都是位元組。
float 4
(2)c語言sziof擴展閱讀:
在 Pascal 語言中,sizeof() 是一種內存容量度量函數,功能是返回一個變數或者類型的大小(以位元組為單位);在 C 語言中,sizeof() 是一個判斷數據類型或者表達式長度的運算符。
定義
sizeof是C/C++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的內存位元組數。
MSDN上的解釋為:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
其返回值類型為size_t,在頭文件stddef.h中定義。這是一個依賴於編譯系統的值,一般定義為:
typedefunsignedintsize_t;㈢ 請問C語言中,sizeof怎麼用
sizeof是C語言運算符之一,注意是運算符,不是函數,也不是宏定義。
功能是求佔用內存大小,結果為無符號整型(unsigned int).
有兩種用法:
1 用於類型。
求某個類型佔用內存大小,方式為
sizeof(type_name)
如sizeof(int), sizeof(struct test)等。
2 用於變數。
用於求某個變數佔用內存大小,方式為
sizeof(var)或者 sizeof var。
注意,用於變數時可以不帶括弧,不過一般推薦帶上括弧。
㈣ C語言中sizeof是什麼意思
sizeof是C語言中保留關鍵字,也可以認為是一種運算符,單目運算符。常見的使用方式:
int a=10;
int arr=[1,2,3];
char str[]="hello";
int len_a = sizeof(a);
int len_arr = sizeof(arr);
int len_str = sizeof(str)
printf("len_a=%d,len_arr=%d,len_str=%d ",len_a,len_arr,len_str)
結果是:len_a=4,len_arr=12,len_str=6
(4)c語言sziof擴展閱讀:
在 Pascal 語言中,sizeof() 是一種內存容量度量函數,功能是返回一個變數或者類型的大小(以位元組為單位)。
在 C 語言中,sizeof() 是一個判斷數據類型或者表達式長度的運算符。
在Pascal 語言與C語言中,對 sizeof() 的處理都是在編譯階段進行。
sizeof是C/C++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的內存位元組數。
MSDN上的解釋為:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
網路-sizeof
㈤ C語言sizeof函數如何使用
(1)sizeof不是函數,它只是一個操作符(operator)。
(2)sizeof的作用是返回一個對象或者類型所佔的內存位元組數,它的返回值的類型是size_t類型,而size_t是在頭文件stddef.h中定義的。size_t 這是一個依賴於編譯系統的值,一般定義為
「typedef unsigned int size_t;」,也就是無符號整型。
(3)sizeof有三種語法形式,如下:
1) sizeof( object ); // sizeof( 對象 );
2) sizeof( type_name ); // sizeof( 類型 );
3) sizeof object; // sizeof 對象;
所以,
inti;
sizeof(i);//ok
sizeofi;//ok
sizeof(int);//ok
sizeofint;//error
既然寫法3可以用寫法1代替,為求形式統一以及減少我們大腦的負擔,只用寫法1就行了!
(4)說回你的提問,既然sizeof的返回值是unsigned int型,那麼很明顯可以用 %u 、%o 、%x 來輸出,這三個都是無符號整型的格式符,分別對應十進制、八進制、十六進制。
(5)而%zd是修飾符z與有符號十進制整型格式符%d組合而成的格式符,表示按 size_t 的類型來輸出。那麼,肯定,%zd 可以用來輸出 sizeof 的返回值。
(6)而%d是按有符號整型來輸出數值,所以與unsigned int的表示範圍是不一樣的,如果 sizeof 的返回值超出了 %d 的表示範圍的話,是會輸出一個不正確的數值的。
總結一下:sizeof 的返回值可以用 %u 、 %o 、 %x 、 %zd 來正常輸出,而用 %d 的時候需要注意返回值是否會超出 %d (即 signed int 型)的表示範圍。
另外,有的操作系統或編譯器里,size_t 的類型可能是 long unsigned int 型,所以 輸出 sizeof 的返回值的時候, 應該用 %lu 等。
以上,如有幫助,煩請點採納,謝謝!
㈥ C語言中sizeof是什麼意思
sizeof是C語言的一個運算操作符,用來計算系統為後面的一對()中的標識符代表的實體分配的內存空間的位元組數,比如sizeof(int)計算系統為int型變數分配的位元組數(在32位int平台下是4);若有int a;,則sizeof(a)也能計算出系統為int型變數分配的位元組數。再如sizeof(已聲明過的數組名),就得到系統為這個數組分配的位元組數,而sizeof(指針)則只計算出系統為指針分配的位元組數(至於指針指向的內容佔多少位元組並不得而知)。多說一句,有人把sizeof和函數混淆了,這是不妥的,sizeof不是函數。
㈦ C語言中「SIZEOF(INT)「是什麼意思有什麼作用
sizeof是計算對象所佔的位元組數,通常用來查看變數、數組或結構體等所佔位元組個數的操作運算符。sizeof(int)的作用是算出int類型的長度 。
對於數據類型的sizeof,取決於CPU位數,編譯器,匯編等,32位系統下是4個位元組,64位系統化下是8個位元組。
(7)c語言sziof擴展閱讀:
Sizeof與Strlen的區別與聯系
(1)sizeof操作符的結果類型是size_t,它在頭文件中typedef為unsigned int類型。其值在編譯時即計算好了,strlen的結果要在運行的時候才能計算出來,是用來計算字元串的長度。
(2)sizeof是運算符,strlen是函數。
(3)sizeof可以用類型做參數,strlen只能用char*做參數,且必須是以「 」結尾的。
(4)數組做sizeof的參數不退化,傳遞給strlen就退化為指針了。
參考資料來源:網路-sizeof
㈧ c語言中,sizeof是什麼意思
sizeof() 是一個獲取數據類型或者表達喊碼式長度的運算符
例如:sizeof(int)就是獲取int型的長度,所搜瞎以值為4,即int型占世滲空4位元組內存