ここで説明している配列要素の数は、要素の総数を指します。
たとえば
、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;
}
このとき、この1次元配列の要素数を次のように計算しました。![ここに画像の説明を挿入](https://img-blog.csdnimg.cn/20210124102523489.png
以下のための二次元アレイ
#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.まず、1次元配列の場合、arr [0]が最初の要素を表し、2次元配列の場合、arr [0] [0]が最初の要素を表すとしましょう。
2.次に、配列名は最初の要素のアドレスを表しますが、2つの例外があります
(1)sizeof(配列名)の場合、配列名は最初の要素のアドレスではなく配列全体を表し、sizeof(配列name)は配列全体のサイズを計算します。
(2)&配列名(&はアドレス文字を表す)の場合、配列名は配列全体を表し、ここに配列全体のアドレスがあります。
また、すべての配列名は最初の要素のアドレスです。
3.最後に、配列要素全体を使用して配列の最初の要素を削除し、配列内の要素の数を取得します。
読んでくれてありがとう。