原創i.czy
(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 .
附加:
#include
using namespace std;
//求乙個陣列的子佇列的最大和
int maxnum(int a,int len);//最大和8-5+10-2+6=17
int n=sizeof(a) / sizeof(int);
sum=maxnum(a,n);
cout } 今天練習大數計算時出現,陣列越界問題,經過除錯後發現原來是陣列越界問題。在這裡本人就強調一下使用length算出的是陣列開闢記憶體空間的長度,而不是陣列實際使用的長度。比如說你申請了int array new int 100 但是你只輸入了10個整數時。如果用length求陣列長度,顯示的長度是10... c語言如何計算陣列的長度 原創 i.czy 最後發布於2018 05 04 17 17 46 閱讀數 92980 已收藏 展開 1 借助sizeof 函式 include int main int length 0 計算陣列中資料長度 所有資料的位元組數除以乙個資料的位元組數即為資料的個數 leng... php如何計算陣列長度?在php中,可以使用count 或sizeof函式來獲取陣列中存在的元素的總長度或總數,計算陣列長度。方法一 count 函式 首先我們建立了乙個陣列,如下 array array abc def ghi klm 然後我們使用count函式來列印出此陣列中的元素數量。prin...計算陣列的實際長度
C語言計算陣列長度時注意事項
統計陣列長度函式php php如何計算陣列長度?