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言語と同じ。