C語言如何計算陣列的長度

2021-10-04 18:27:46 字數 1102 閱讀 5784

原創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語言計算陣列長度時注意事項

c語言如何計算陣列的長度 原創 i.czy 最後發布於2018 05 04 17 17 46 閱讀數 92980 已收藏 展開 1 借助sizeof 函式 include int main int length 0 計算陣列中資料長度 所有資料的位元組數除以乙個資料的位元組數即為資料的個數 leng...

統計陣列長度函式php php如何計算陣列長度?

php如何計算陣列長度?在php中,可以使用count 或sizeof函式來獲取陣列中存在的元素的總長度或總數,計算陣列長度。方法一 count 函式 首先我們建立了乙個陣列,如下 array array abc def ghi klm 然後我們使用count函式來列印出此陣列中的元素數量。prin...