本文目錄一覽:
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\n”,len_a,len_arr,len_str)
結果是:len_a=4,len_arr=12,len_str=6
擴展資料:
在 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(數組名)結果為0
空數組做法本身就是錯的 .
定義空數組,再向裏面塞值, 這個就是越界操作了.
所以 這個思路就是不對的. 定義數組的時候必須開闢足夠大空間.
C語言sizeof(“\0”) strlen(“\0”)
sizeof(“\0”)=2
sizeof是編譯器在編譯時計算,計算括號中內容的大小,注意,這和地址沒關係,因為這發生在編譯期
那麼”\0″是多大呢?\0是1個字符,再加上一個字符結束符(也是\0),共2個。
如果有疑問的話,自己試一下sizeof(“a”),sizeof(“\0a”)等就明白了,從這裡可以發現,字符串中間是可以有\0的。
strlen(“\0”)=0
這個只要知道strlen是怎麼計算字符串長度的就可以很容易得出答案了,該”\0″大小為2,且兩個都是\0,遇到第一個\0就結束了,所以是0
原創文章,作者:HOFC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/134098.html