#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 它的內部實現是用乙個迴圈計算字串的長...