C/C++とBasicの配列の違い

BASICをちょっとだけやった私がC/C++で最初につまづいたところのメモ。

int num[3];

C/C++だと、num[0], num[1], num[2]の計つの箱が用意される。

Dim num(3) As Integer

BASICだと、num(0), num(1), num(2), num(3)の計つの箱が用意される。


C/C++は配列全体の個数を指定しますが、BASICは配列の最大要素を指定するのでこのような違いが発生してしまいます。

BASICだといつも多く箱が用意されるので、脳内で「配列の必要な個数 - 1」の計算をしていたがためにC/C++で配列宣言するときに戸惑ってつまづいちゃいました。他の言語ではどうなんだろうか?C/C++のほうが一般的なのかな?