C語言中sizeof和strlen的區別

2021-09-08 16:38:26 字數 620 閱讀 3168

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