;//運算子,計算引數所佔記憶體
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 輸出長度為...