c語言如何計算陣列的長度
原創 i.czy 最後發布於2018-05-04 17:17:46 閱讀數 92980 已收藏
展開(1)借助sizeof()函式 :
#include
int main()
;int length = 0;
// 計算陣列中資料長度 :
// 所有資料的位元組數除以乙個資料的位元組數即為資料的個數 :
length = sizeof(arr) / sizeof(int);
printf("陣列的長度為: %d\n",length);
return 0;
}執行結果 :
(2)上面的方法會出現乙個誤區
那就是當陣列作為實參傳遞到另乙個函式時, 而這個函式執行了上面同樣的方法, 結果出來的不會正確的陣列的長度 :
測試** :
#include
void test(int arr)
int main()
;int length = 0;
// 計算陣列中資料長度 :
// 所有資料的位元組數除以乙個資料的位元組數即為資料的個數 :
length = sizeof(arr) / sizeof(int);
printf("main_陣列的長度為: %d\n",length);
test(arr);
return 0;
}執行結果 :
**分析 :
當將陣列作為實參傳遞到另乙個函式中時, 另乙個函式的形參相當於乙個指標變數, 因為將陣列的名作為實參時, 就是將數字的首位址作為實參, 所以在test函式中輸出的sizeof(arr)其實得到的是乙個整型陣列的長度(所佔的位元組數), 所以結果是8, 再用其除以int所佔的位元組數(4), 結果就是2 .
也是我自己親自遇到的,再寫快速排序的函式時,會發現在函式內計算傳入陣列的長度是只能算出1,算不出真正的長度,所以長度也得通過函式引數的形式傳入。
使用sizeof()計算陣列長度
char words 計算word中元素個數 size t words size sizeof words sizeof char 使用陣列初始化words2 指標初始化 list words2 words,words words size 解析 1 sizeof sizeof操作符返回乙個物件或型...
用sizeof 計算陣列長度
計算陣列長度時可以用 int array sizeof array 12 int length sizeof array sizeof array 0 3 char array abc sizeof array 4 考慮 0 strlen array 3 不考慮 0 int length sizeo...
C語言如何計算陣列的長度
原創i.czy 1 借助sizeof 函式 include int main int length 0 計算陣列中資料長度 所有資料的位元組數除以乙個資料的位元組數即為資料的個數 length sizeof arr sizeof int printf 陣列的長度為 d n length return...