Как объявляются массивы в разных языках программирования?

Массив — это структура данных, которая хранит несколько элементов одного логического набора под одним именем. Обычно элементы доступны по индексу.

В разных языках синтаксис объявления массивов отличается, но идея одна: задать тип элементов, имя массива и иногда размер.

C и C++

В C и C++ статический массив можно объявить с фиксированным размером.

int numbers[5];
int values[3] = {10, 20, 30};

Размер такого массива известен заранее. Индексация начинается с нуля.

Для динамического массива в C++ часто используют vector.

std::vector<int> numbers = {10, 20, 30};

Pascal

В Pascal массив объявляется через диапазон индексов.

var
  numbers: array[1..5] of Integer;

Особенность Pascal в том, что диапазон индексов можно задавать явно, например от 1 до 5.

C#

В C# массив объявляется через квадратные скобки после типа.

int[] numbers = new int[5];
int[] values = {10, 20, 30};

Для изменяемых по размеру коллекций часто используют List.

List<int> numbers = new List<int>();

Java

В Java массивы похожи на C#.

int[] numbers = new int[5];
int[] values = {10, 20, 30};

Размер массива после создания изменить нельзя, но можно создать новый массив или использовать ArrayList.

JavaScript и TypeScript

В JavaScript массивы динамические.

const numbers = [10, 20, 30];
numbers.push(40);

В TypeScript можно указать тип элементов.

const numbers: number[] = [10, 20, 30];
const words: Array<string> = ["one", "two"];

Python

В Python встроенный список выполняет роль динамического массива.

numbers = [10, 20, 30]
numbers.append(40)

Если нужен плотный числовой массив для вычислений, часто используют дополнительные библиотеки, например NumPy.

Что обычно указывают при объявлении

При объявлении массива могут задаваться:

Вывод

массивы объявляются по-разному, но в большинстве языков имеют общее назначение: хранить последовательность элементов и обеспечивать доступ по индексу. Главное отличие — фиксированный или динамический размер и способ задания типа элементов.

Источники

  • Семакин И.Г. Основы программирования и баз данных. Учебник. - М.: Академия, 2014. - 224 с.
  • Симонова Е.В. Структуры данных в C#. Линейные и нелинейные динамические структуры. - Лань, 2018. - 152 с.
  • Бертран Мейер. Почувствуй класс. Учимся программировать хорошо с объектами и контрактами. - М.: Национальный Открытый Университет "ИНТУИТ": БИНОМ. Лаборатория знаний, 2011. - 775 с.
  • Мэтт Вайсфельд. Объектно-ориентированное мышление. - СПб.: Питер, 2014. - 304 с.
  • Ривест Р., Штайн К., Лейзерсон Ч., Кормен Т. Алгоритмы: построение и анализ. - М.: Вильямс, 2007. - 1296 с.
  • Стивенс Род. Алгоритмы. Теория и практическое применение. - М.: Эксмо, 2017. - 544 с.
  • Рублев В.С. Основы теории алгоритмов. - 2-е издание, исправленное. - М.: Научный мир, 2008. - 128 с.
  • Гольдберг Г.Л. Основы алгоритмизации и программирования. - М.: Академия, 2012. - 384 с.
  • Лаврищева И.В. Технология программирования. - М.: Горячая линия - Телеком, 2011. - 400 с.
  • Сергеев И.С., Сухоруков А.И., Шестаков А.А. Программирование: учебник для вузов. - М.: БИНОМ. Лаборатория знаний, 2013. - 512 с.