C++
 Computer >> コンピューター >  >> プログラミング >> C++

C/C++プログラムにおける多次元配列の初期化方法

このチュートリアルでは、C言語およびC++において多次元配列を初期化する方法について詳しく解説します。

多次元配列の宣言時のルール

多次元配列を宣言する際には、以下のような重要なルールがあります。

  • 最も左側の次元(最初の次元)のサイズは省略することが可能
  • それ以外のすべての次元のサイズは必ず指定する必要がある

これは、コンパイラが配列の要素を正しく配置するために、各次元の境界情報を必要とするためです。左端の次元だけは、初期化リストから自動的に推測できるため省略が許されています。

サンプルコード

以下の例では、2×2の二次元配列を初期化子リストを使って宣言しています。

#include<stdio.h>
int main(){
    int a[][2] = {{1,2},{3,4}};
    printf("%lu", sizeof(a));
    getchar();
    return 0;
}

実行結果

16

コードの解説

int a[][2] = {{1,2},{3,4}}; のように記述することで、左端の次元を省略しても、コンパイラが初期化リストの構造から「2行×2列」の配列であると自動的に判断します。

sizeof(a) の結果が 16 となるのは、int型が4バイトであり、2×2=4個の要素を持つため、合計 4バイト × 4要素 = 16バイト となるからです。

注意点

もし int a[2][] = ... のように、右側の次元を省略してしまうとコンパイルエラーになります。多次元配列を宣言する際は、左端以外の次元は必ず明示的に指定するようにしましょう。

  1. C++で配列がビトニック配列かどうかを判定するプログラム

    N個の整数からなる配列 arr[N] が与えられたとき、その配列がビトニック配列であるかどうかを判定するのが本記事のテーマです。ビトニック配列であれば「Yes its a bitonic array」と出力し、そうでなければ「No its not a bitonic array」と出力します。ビトニック配列とは、まず厳密に増加し、その後厳密に減少するような配列のことです。たとえば arr[] = {1, 2, 3, 4, 2, -1, -5} という配列は、4までは厳密に増加しており、4以降は厳密に減少しているため、ビトニック配列といえます。入力例と出力例入力arr[] = {1, 3, 5,

  2. C言語の多次元配列とは?行優先・列優先の仕組みとサンプルコード

    多次元配列とは配列とは、同種のデータ(ホモジニアスなデータ)をまとめて管理するための基本的なデータ構造です。配列の要素は、メモリ上の連続した領域に順番に配置されます。しかし実際のプログラミングでは、1次元の配列だけでは不十分なケースが少なくありません。例えば、表形式のデータや行列を扱う場合には、2次元配列やさらに多くの次元を持つ多次元配列を作成する必要があります。行優先方式と列優先方式多次元配列をメモリ上に表現する方法には、大きく分けて2つのアプローチがあります。ひとつは行優先(Row-Major)方式、もうひとつは列優先(Column-Major)方式です。r行 c列の2次元配列を考えてみま