sizeof和strlen和 countof的區別

2021-10-09 12:12:43 字數 737 閱讀 5000

;//運算子,計算引數所佔記憶體

int nnum2 =

strlen

(arr)

;//是函式,求字元的個數,不包括'/0'

int nnum3 =

_countof

(arr)

;//windows巨集 計算陣列的元素個數

cout << nnum1 <<

" ";

cout << nnum2 <<

" ";

cout << nnum3 << endl;

int arr1[20]

=;nnum1 =

sizeof

(arr1)

;//算占用記憶體

nnum3 =

_countof

(arr1)

;//算元素個數

cout << nnum1 <<

" ";

cout << nnum3 << endl;

return0;

}

C語言的sizeof和strlen

strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,其長度是固定的,所以sizeof在編譯時計算緩衝區的長度。strlen是遇到0或者 0 都會停止運算的,而sizeof是每個字元都會算的,不會漏掉0 或者 0 因...

C語言的sizeof和strlen

strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,起長度是固定的,所以sizeof在編譯時計算緩衝區的長度。因為sizeof 測試的是陣列的長度。而strlen測試的是字串的長度。在定義陣列時,字串後面還有乙個結...

C 專題 strlen和sizeof的區別

難點 strlen主要針對與字串 sizeof主要可對基本資料型別求位元組長度 int double char等等 真陣列 如 str 10 和假陣列 如 str 算出的結果不一樣,比如 char str hello 輸出長度為4 它針對字串下標的個數 char str 10 hello 輸出長度為...