タグ

配列に関するnekoneneneのブックマーク (2)

  • クラスオブジェクトの配列を使うときの注意点 - ソフトウェアエンジニア現役続行

    int型の配列を使うときは以下のようにします。これは問題ないですね。 int[] array = new int[10]; // (1) しかし自分で定義したクラスのオブジェクトの配列を使う場合は、同じようにしてもうまくいきません。 class NewClass{ int a; int b; } public static void main(String[] args) { NewClass[] dim = new NewClass[3]; // (2) dim[0].a = 1; dim[0].b = 10; dim[1].a = 2; dim[1].b = 20; dim[2].a = 3; dim[2].b = 30; } (1)と同様に(2)と書いたのに、これを実行するとNull Pointer Exceptionが発生してしまいます。 調べたところ、(2)は、オブジェクトを入れ

    クラスオブジェクトの配列を使うときの注意点 - ソフトウェアエンジニア現役続行
  • 配列の動的確保

    まず、動的確保ってなんなの?って人もいるかもしれないのでその説明から始めます。 C/C++ では、配列のサイズというものは必ずコンパイル時(静的)に分かってなければいけません。 double a[10]; // OK int n; cin >> n; // キーボードから入力 double b[n]; // NG コンパイルエラーになる 配列を確保するときには a[10] のようにサイズは定数でなければならず、int n のような変数をサイズに使うことはできません。 (const int は可、変数ではなく定数だから。) 配列のサイズを実行時(動的)に決めたい場合に動的確保というの行います。 #include <stdlib.h> int n; double * b; scanf( "%d", &n ); b = (double *)malloc( sizeof( double ) * n

  • 1