パニック速報

The next stage is paradise…

C(手続き型)
int num[10];
char str[8];

int num[3] = {5, 10, 8};
int num = {5, 10, 8};
データ型 配列名[要素数];

C++(知らない/どっちでも書ける)
int p = { 1, 2, 3 };
array< int >^ p = gcnew< int >( 10 ); //managed
注:C++マネージ拡張 (Managed Extensions for C++, Managed C++) は、C++で.NET Frameworkアプリケーションを記述するための、マイクロソフトによるC++の拡張である。
これによって、C++でネイティブコードだけでなく共通言語ランタイム (CLR) に向けたアプリケーションを記述することができる。
(http://ja.wikipedia.org/wiki/C++%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E6%8B%A1%E5%BC%B5)

C#(基本オブジェクト指向)
int p = new int[ 10 ];
int
p = new int { 1, 2, 3 };

Java(基本オブジェクト指向)
int p = new int[ 10 ];
int p = new int[ 10 ];

int p = new int { 1, 2, 3 };
int
p = { 1, 2, 3 };

基本
int scores;
scores = new int
{80,65,70,95};

new省略
int scores;
scores = {80,65,70,95};


宣言と初期化
int scores = new int{80,65,70,95};
int
scores = {80,65,70,95};

PHP(両方)
$array = array("foo", "bar", "hello", "world");

$array = array(
"foo" => "bar",
"bar" => "foo",
);

// PHP 5.4 ではこの記述も可
$array = [
"foo" => "bar",
"bar" => "foo",
];

JavaScript(基本手続き型)
var a = new Array();
var a = new Array( 2 );

var a = [ 1.0, 'text' ];
var a = new Array( 1.0, 'text' );

var a = ;
a[ 0 ] = 1.0;
a[ 1 ] = 'text';

Ruby(オブジェクト指向)
fruits = ["apple", "orange", "lemon"]
scores = [55, 49, 100, 150, 0]

Rubyの配列はデータ型
http://www.ruby.or.jp/ja/tech/development/ruby/tutorial/030_data_type2.html

【Java】 配列と参照型変数
http://nobuo-create.net/java-beginner-8/

int a;とint a;の両方が宣言できるのはJavaしかない

型のほうに配列を表す""を付ける(int a;)のは、
「オブジェクト指向型だから」ではなく、「変数の型が参照型だから」
参照型はインクリメント/デクリメントできないポインターのようなもの

実際の値が入っているか参照が入っているかの違いを明示的に宣言で表現する
だからC#もint a;表記
逆にRubyは完全オブジェクト指向型言語だが、配列がデータ型なので
inm = [810, 364, 893]表記が可能
※Javaの「int[] nanJ = {334, 9800};」表記はnewを省略しているだけ