sizeof與strlen有哪些區別

2021-10-08 11:38:30 字數 392 閱讀 9276

1.sizeof是運算元,strlen是函式

2.sizeof操作符的結果型別是size_t, 它在標頭檔案中typedef為unsignedint型別,該型別保證能容納實現所建立的最大物件的位元組大小

3.sizeof可以用型別做引數,strlen只能用char *做引數

4.陣列做sizeof的引數不退化,傳遞給strlen就退化為指標了

5. strlen是函式,只能作用於字串,遇到\0立即返回在\0之前出現的字元數,\0不計入字元數

6. sizeof是關鍵字,可作用於任何變數,返回的是該變數占用的記憶體位元組數。變數中的值是什麼與sizeof毫無關係。對於字元陣列,sizeof返回其中所有元素占用的位元組總數,對於字元指標,返回指標變數占用的位元組數,32位編譯器下為4,64位編譯器下為8。

sizeof 與 strlen 的區別

一 示例 eg1 下列 char buffer 256 char pbuffer buffer cout sizeof buffer cout sizeof pbuffer 其執行結果為 eg2 簡單說明 sizeof gives the amount of storage,in bytes,ass...

strlen與sizeof的區別

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

sizeof與strlen的區別

sizeof 表示式 是c c 關鍵字 不是函式 功能 返回 表示式 結果所佔機器 位元組 的大小。strlen 字串 是c c 標準庫的函式 不是關鍵字 在標頭檔案 string.h 中宣告。功能 計算 字串 中的 0 之前的字元個數。特別注意 strlen總是假定傳給它的引數是以null結束符 ...