配列要素の数を数える方法は?

ここで説明している配列要素の数は、要素の総数を指します。
たとえば
、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.最後に、配列要素全体を使用して配列の最初の要素を削除し、配列内の要素の数を取得します。

読んでくれてありがとう。

おすすめ

転載: blog.csdn.net/JixTlhh/article/details/113071225