C言語とJavaでの配列の使い方の違い

C言語とJavaでは配列の使い方(宣言の仕方)が違います。C言語とJavaのサンプルプログラムを載せておきます。

Javaの配列のサンプル

C言語の配列のサンプル

実行結果です(javaの例ですがCのサンプルコードでも同じ結果になります)。

$ java array
0  0  0  1
1  2  1  2
2  4  2  3
3  6  3  4
4  8  4  5
5 10  5  6
6 12  6  7
7 14  7  8
8 16  8  9
9 18  9 10

留意点は以下でしょうか。

= = 1点目 = =
Javaでは配列の宣言

int[ ]  a;
int  b[ ];

のどちらでも使える。型カッコの [ ] を型に付けても変数につけてもどちらでも良い。

C言語は

int  b[ ];

のみ(変数に付けるのみ)。

ただしこれは配列の宣言であるため、初期化するときか関数の引数として使う場合に限る。関数の引数として使う場合というのは、func関数があってその引数に配列(ポインタ)を持つ場合に使えるということ。

例:
void func( int b[ ] )
{
 ・・
}

= = 2点目 = =
Javaでは

int  a[10];

のようなC言語で言う配列の定義はできない。Javaは配列の宣言とメモリ確保の2段階の操作が必要ということ。

なお、Javaで以下のように1行で書いてしまうことは可能。

int[ ] a = new int[10];

= = 3点目 = =
配列の初期化はjavaでもnew演算子を使用せずにメモリ確保できる。これはC言語と同じ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です