strlen 和sizeof等的區別

2021-10-25 02:51:34 字數 836 閱讀 7958

#include

using namespace std;

intmain()

;printf

("%d\n"

,sizeof

(a))

;//結果為8,因為指標變數的所佔空間大小僅僅和作業系統位數有關32-4,64-8

printf

("%d\n"

,sizeof

(arr1));

//結果為6,字串預設以\0結尾,sizeof()包含\0的計算

printf

("%d\n"

,sizeof

(arr2));

//結果為3,因為為字元型表示,並不含有\0

printf

("%d\n"

,strlen

(a))

;//結果為5,strlen求的是字串的長度,不包含\0

printf

("%d\n"

,strlen

(arr1));

//結果為5,strlen求的是字串的長度,不包含\0

printf

("%d\n"

,strlen

(arr2));

//結果為3

//如果字元的個數等於字元陣列的大小,那麼strlen()的返回值就無法確定了,例如

//char str[6] = "abcxyz";

//strlen(str)的返回值將是不確定的。因為str的結尾不是0,strlen()會繼續向後檢索,直到遇到'\0',而這些區域的內容是不確定的。

return0;

}

sizeof和strlen的區別

sizeof與strlen的區別與聯絡 轉 1.sizeof操作符的結果型別是size t,它在標頭檔案中typedef為unsigned int型別。該型別保證能容納實現所建立的最大物件的位元組大小。2.sizeof是算符,strlen是函式。3.sizeof可以用型別做引數,strlen只能用c...

strlen和sizeof的區別

sizeof與strlen的區別與聯絡 轉 1.sizeof操作符的結果型別是size t,它在標頭檔案中typedef為unsigned int型別。該型別保證能容納實現所建立的最大物件的位元組大小。2.sizeof是算符,strlen是函式。3.sizeof可以用型別做引數,strlen只能用c...

sizeof和strlen的區別

sizeof和strlen都可以用來求變數的長度,但兩者之間還是有很大的區別的。首先,從2個例子講起 例1 charss 100 0123456789 sizeof ss 結果為100 ss表示在記憶體中預分配的大小,100 1 strlent ss 結果為10 它的內部實現是用乙個迴圈計算字串的長...