C言語で二次元配列を使うにはどうすればよいですか?

little bottle
リリース: 2020-09-10 13:13:44
オリジナル
19489 人が閲覧しました

C 言語で 2 次元配列を使用する方法: まず C 言語スクリプト ファイルを開いて 2 次元配列を定義し、次にカスタム関数を呼び出してそれぞれの最小値の合計を見つけます。 2 次元配列の列; 最後に戻り値を main 関数の出力に返すだけです。

C言語で二次元配列を使うにはどうすればよいですか?

C言語の学習において、2次元配列は基礎中のより重要な内容と言えますが、この記事では主に2つの配列の使い方について説明します。 C言語の次元配列 使い方、お役に立てれば幸いです。

#2 次元配列定義の一般形式

型指定子配列名[定数式][定数式];

例:

int arr[3][4]
ログイン後にコピー

は、3×4 配列 a、つまり 3 行 4 列の合計 12 要素を定義することを意味します。これら 12 個の要素の名前は次のとおりです: a[0][0]、a[0][1]、a[0][2]、a[0][3]、a[1][0]、a [ 1][1]、a[1][2]、a[1][3]; a[2][0]、a[2][1]、a[2][2]、a[2 ] [3]。

1 次元配列と同様に、行番号と列番号の添字は 0 から始まります。要素 a[i][j] は、行 i 1、列 j 1 の要素を表します。配列 int a[m][n] の最大範囲の要素は a[m–1][n–1] です。したがって、配列要素を参照するときは、添え字の値が定義された配列サイズの範囲内にある必要があることに注意する必要があります。

また、1次元配列と同様に、配列を定義する際に使用する「配列名[定数式][定数式]」と配列要素を参照する際に使用する「配列名[添字][」の添字を使用します。 ]" 異なります。前者は、配列を定義し、配列の次元数と各次元のサイズを定義します。後者は要素の単なる添え字であり、座標と同様に特定の要素に対応します。

2 次元配列の初期化1) 次のように、別々の行で 2 次元配列に初期値を割り当てます。
この種の初期化 value メソッドはより直感的で、各行を要素として扱い、行ごとに初期値を割り当てます。

2) 中括弧内にすべてのデータを記述し、配列の並び順に各要素に初期値を代入することもできます。例:

int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
ログイン後にコピー

3) 一部の要素にのみ初期値を割り当てることもできます。例:

int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
ログイン後にコピー
ログイン後にコピー

4) 配列の定義時にすべての要素に初期値が割り当てられている場合、つまり完全に初期化されている場合、最初の次元の長さを指定する必要はありませんが、 2 番目の次元は省略できません。例:

int a[3][4] = {{1, 2}, {5}, {9}};
ログイン後にコピー

は次と同等です:

int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
ログイン後にコピー
ログイン後にコピー

システムは、データの総数と 2 番目の次元の長さに基づいて 1 番目の次元の長さを計算します。ただし、この省略した書き方は可読性が悪いため、あまり使用されません。

5) 次のように、2 次元配列が「クリア」され、その中の各要素はゼロになります。


int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
ログイン後にコピー

2 つの配列を入力および出力する方法次元配列1 次元配列では入力と出力に for ループが使用されますが、2 次元配列要素の入力と出力では 2 つの for ループがネストされます。

以下に練習に使用できる小さな例があります:

int a[3][4]={0};
ログイン後にコピー

達成された結果:

//输入一个3行4列的二维数组的元素值
//调用一个自定义函数求二维数组每列元素中的最小值的和值
//和值通过返回值传回主函数输出
#include "stdio.h"
int sum(int arr[3][4])//定义一个二维数组
{
    int sum = 0;
    for (int i = 0; i < 4; i++)
    {
        int min = arr[0][i];
        for (int j = 1; j < 3; j++)//找出每列最小元素
            if (min > arr[j][i]) 
                min = arr[j][i];
        sum += min;//每列最小元素相加
    }
    return sum;
}
int main()
{
    int arr[3][4];
    for (int i = 0; i < 3; i++)  //行
        for (int j = 0; j < 4; j++)//列
            scanf("%d", &arr[i][j]); //输入数组元素
    int r = sum(arr);
    printf("%d\n", r);//输出每列最小元素之和
    return 0;
}
ログイン後にコピー

関連チュートリアル:

C ビデオ チュートリアル

以上がC言語で二次元配列を使うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート