#include
#include
intmain
(int argc,
char
const
*ar**)
;char b=
"love"
;printf
("%ld\n"
,sizeof
(a))
;printf
("%ld\n"
,sizeof
(b))
;printf
("%ld\n"
,strlen
(b))
;return0;
}輸出結果為:325
4
通過上述**可以看出,
第乙個printf得出sizeof求的是陣列實際所佔的記憶體的位元組數,因為是int型別的,每個int 4個位元組,8個元素,所以為32.
第二個printf得出,sizeof求的是陣列實際所佔的記憶體的位元組數,算上字串結束符』\0『
第三個printf可以看出,strlen求出的是字串的實際長度
strlen(char*)函式求的是字串的實際長度,直到遇到第乙個』\0』,然後就返回計數值,且不包括』\0』。
C語言中的sizeof和strlen
1 sizeof是算符,strlen是函式 2 sizeof可以用型別做引數,strlen只能用char 做引數,且必須是以 0 結尾的 3 大部分編譯程式,在編譯的時候就把sizeof計算過了,這是型別或是變數的長度這就是sizeof x 可以用來定義陣列維數的原因 4 strlen的結果要在執行...
c語言中的sizeof
一 sizeof的概念 sizeof是c語言的一種單目操作符,如c語言的其他操作符 等。它並不是函式。sizeof操作符以位元組形式給出了其運算元的儲存大小。運算元可以是乙個表示式或括在括號內的型別名。運算元的儲存大小由運算元的型別決定。二 sizeof的使用方法 1 用於資料型別 sizeof使用...
C語言中的sizeof
一 sizeof是編譯器的內建指示符 不是函式 sizeof用於計算型別或變數所佔的記憶體大小 sizeof的值在編譯期就已經確定 sizeof用於型別 sizeof type sizeof用於變數 sizeof var 或 sizeof var int var 0 printf d n sizeo...