我們所說的陣列元素個數是指總元素個數
例如:
arr[10]中有10個元素
arr[3][4]中有3X4=12個元素
那么怎么能求出這個個數給計算機呢?
對于一維陣列
#include <stdio.h>
int main()
{
int arr[10] = { 0 };
int sz = sizeof(arr) / sizeof(arr[0]);
printf("%d\n", sz);
return 0;
}
這個時候我們計算出來這個一維陣列的元素個數如下:
對于二維陣列
#include <stdio.h>
int main()
{
int arr[3][4] = { 0 };
int sz = sizeof(arr) / sizeof(arr[0][0]);
printf("%d\n", sz);
return 0;
}
程式運行結果如下:

此時我們來對上述程式中的sz做一個解釋說明,
1.首先我們說對于一維陣列,arr[0]代表首元素,對二維陣列來說arr[0][0]表示首元素,
2.其次,陣列名表示首元素地址,但有兩個例外
(1)sizeof(陣列名)時,陣列名表示的是整個陣列,不是首元素地址,sizeof(陣列名)計算的是整個陣列的大小,
(2)&陣列名時(&表示取地址符),陣列名表示整個陣列,這里取出的是整個陣列的地址,
除此之外,所有的陣列名都是首元素地址,
3.最后我們用整個陣列元素去除以陣列的首元素可以得到陣列的元素個數,
感謝閱讀,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252134.html
標籤:其他
上一篇:Windows快捷鍵精華版
