sizeof 與 strlen 的一些用法及區別

2021-07-28 13:13:01 字數 686 閱讀 2038

1.sizeof的用法,返回值的型別是size_t,計算的是資料所佔記憶體的空間,用位元組表示

(1)用於變數的時候可以加括號或者不加括號,但建議加括號 例如 sizeof(a)

(2) 用於資料型別必須要用括號, sizeof(int)

(3)計算物件的大小是先轉化成物件的型別在進行計算

(4)可以對函式呼叫求值,其結果是函式返回型別的大小,不能對函式名進行計算,無返回值的函式不能參加計算

(5)可以對表示式進行求值,實際上是根據表示式的最終結果型別來確定大小。

(6)結構體中的位域成員不能被計算sizeof值

2.strlen的引數時c風格的字串,主要用來計算字元陣列的長度,不區分引數型別是指標還是陣列型別,以『\0』為結束標誌,且不將其計算在內。而sizeof在計算字元陣列的長度時,會將占用的『\0』計算在內。

談一談sizeof與strlen

sizeof與strlen都可以用來測量字元陣列的大小,通過乙個列子來看它們的不同 例 char ss1 abcdefg char ss2 abcdefg char ss3 10 abcdefg cout sizeof ss1 87107 分析 sizeof衡量的是字元陣列的真是占用的空間,包含預分...

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