Сравните два объявления переменных:
int a;
int [] b;
В первой строке объявляется "обычная" переменная, которая имеет имя а и предназначена для работы с целочисленными значениями (значениями типа int).
Во второй строке объявляется переменная типа массив целых чисел (можно говорить – "объявляется массив"), которая имеет имя b и предназначена для работы с целочисленными значениями (значениями типа int). О том, что вторая переменная является именно массивом, говорят две квадратные скобки, поставленные после указания типа данных.
Также допустим вариант, в котором квадратные скобки ставятся не после указания типа массива, а после его имени:
int b[];
Очень важно помнить, что объявление массива еще не делает его доступным для работы; происходит это по той же причине, по которой одно только объявление "простой" переменной не делает ее доступной для работы. Какая может быть работа, если нет никакого значения!..
Инициализация массива
В отличие от "обычной" переменной, в которую при инициализации надо занести какое-то значение, массив можно инициализировать и несколько иначе, причем разными способами.