【C言語】2次元配列とは?宣言/初期化/取得/代入方法を解説

この記事では、C言語における2次元配列の基本的な使い方と応用方法について解説します。

2次元配列の概要や特徴、宣言と初期化の方法、要素へのアクセスや変更方法、さらには行列の演算や画像処理への応用など、初心者でも理解しやすいように詳しく説明します。

また、2次元配列を使用する際の注意点についても紹介します。

目次から探す

2次元配列とは

2次元配列は、複数の要素を格納するためのデータ構造です。

1次元配列が要素を一列に並べて格納するのに対して、2次元配列は行と列の2次元のグリッド状に要素を格納します。

2次元配列の概要

2次元配列は、要素を行と列の2次元のグリッド状に格納するためのデータ構造です。

要素は行番号と列番号で指定され、配列名[行番号][列番号]のようにアクセスします。

以下に、3行4列の2次元配列の例を示します。


int array[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

この例では、arrayという名前の2次元配列が宣言されています。

各要素は行番号と列番号で指定され、array[0][0]は1、array[0][1]は2、array[1][2]は7、array[2][3]は12となります。

2次元配列の特徴

2次元配列の特徴は以下の通りです。

行と列の要素数が固定されている

2次元配列は宣言時に行と列の要素数を指定する必要があります。

要素数が固定されているため、宣言時に指定した要素数以上の要素を格納することはできません。

メモリ上の配置

2次元配列はメモリ上で連続した領域に要素が格納されます。

行と列の要素数を掛けた値の分だけのメモリ領域が確保されます。

多次元のデータを扱いやすい

2次元配列は行列のようなデータを扱うのに適しています。

例えば、画像処理や行列演算などのアルゴリズムでよく使用されます。

2次元配列は、行と列の要素を指定してアクセスすることができるため、多次元のデータを効率的に扱うことができます。

また、多次元配列の要素を操作するためのループ処理も行うことができます。

2次元配列の宣言と初期化

2次元配列の宣言方法

2次元配列は、複数の要素を持つ配列を表現するためのデータ構造です。

1次元配列が要素を1次元に並べたものであるのに対し、2次元配列は要素を2次元のグリッド状に配置します。

2次元配列の宣言方法は以下のようになります。


データ型 配列名[行数][列数];

例えば、int型の要素を持つ3行4列の2次元配列を宣言する場合は、次のようになります。


int matrix[3][4];

このように宣言することで、matrixという名前の3行4列の2次元配列が作成されます。

2次元配列の初期化方法

2次元配列の初期化は、宣言と同時に初期値を設定することができます。

初期化方法は以下のようになります。


データ型 配列名[行数][列数] = {
    {要素1, 要素2, 要素3, ...},
    {要素1, 要素2, 要素3, ...},
    ...
};

例えば、int型の要素を持つ3行4列の2次元配列を初期化する場合は、次のようになります。


int matrix[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

このように初期化することで、matrixという名前の2次元配列が作成され、各要素には指定した初期値が格納されます。

なお、初期化時に要素数を指定しない場合は、自動的に要素数が計算されます。

例えば、以下のように初期化することもできます。


int matrix[][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

この場合、行数は3であることが明示されていますが、列数は初期化時の要素数から自動的に計算されます。

以上が、2次元配列の宣言と初期化の方法です。

2次元配列を宣言し、初期化することで、複数の要素を持つグリッド状のデータを扱うことができます。

2次元配列の要素へのアクセス

2次元配列は、行と列の2次元のグリッド状のデータ構造です。

要素へのアクセスは、行番号と列番号を指定することで行われます。

2次元配列の要素へのアクセス方法

2次元配列の要素へのアクセス方法は、以下のようになります。


int array[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};
int element = array[1][2];

上記の例では、arrayという名前の3行4列の2次元配列を宣言し、要素に値を代入しています。

array[1][2]は、2行目の3列目の要素を表しており、その値をelementに代入しています。

2次元配列の要素の変更方法

2次元配列の要素を変更するには、要素へのアクセス方法と同様に、行番号と列番号を指定します。


int array[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};
array[1][2] = 100;

上記の例では、array[1][2]の値を100に変更しています。

変更後の2次元配列は以下のようになります。

1  2   3   4
5  6  100  8
9 10  11  12

要素の変更は、値の代入によって行われます。

変更したい要素の行番号と列番号を指定し、新しい値を代入することで、要素の値を変更することができます。

以上が、2次元配列の要素へのアクセス方法と要素の変更方法についての説明です。

2次元配列を使って、複雑なデータ構造を表現する際には、要素へのアクセスや変更が重要な操作となりますので、しっかりと理解しておきましょう。

1 2 3

この記事のページ一覧
  1. 現在のページ
目次から探す