Часть 1

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

целое число х=10; (Здесь x — скалярная переменная, в которой можно хранить только один элемент.)

целое A[5]; (Здесь A — это векторная переменная с именем Array.)

Объявление и инициализация

  1. интервал А[5]; Объявлен массив размера 5, содержащий мусорные значения.
  2. интервал А[5]={2,4,6,8,10}; Инициализировано и объявлено
  3. интервал А[5]={2,4}; Первый и второй индекс содержат 2 и 4, тогда как остальные инициализируются нулем.
  4. интервал А[5]={0}; Все 5 элементов инициализируются нулем.
  5. интервал А[]={2,4,6,8,9}; Инициализируется и объявляется без указания размера.

Обход массива (использование цикла for)

for(i=0;i‹5;i++) { printf("%d", A[i]); }

Печать массива

Все три, приведенные ниже, эквивалентны и печатают второй элемент индекса.

printf("%d", A[2]); Подстрочный индекс

printf("%d", 2[A]);

printf("%d", *(A+2)); Арифметика указателя

Распечатать адрес массива

Статический и динамический массив

Статический массив означает, что размер памяти/массива будет определен во время компиляции. Память будет выделяться только во время выполнения. Принимая во внимание, что динамический массив — это массив с большим улучшением: автоматическим изменением размера. Одним из ограничений массивов является то, что они имеют фиксированный размер, а это означает, что вам необходимо заранее указать количество элементов, которые будет содержать ваш массив. динамический массив расширяется по мере добавления новых элементов.

Примечание: Размер массива можно определить во время выполнения в C++, но в языке C его необходимо указать ТОЛЬКО во время компиляции. И оба массива создаются в стеке как часть записи активации основной функции.

На приведенном выше изображении массивы A и B создаются в стеке, тогда как размер массива B объявляется во время выполнения.

Теперь мы увидим, как хранить массив в куче памяти.

Примечание.Для доступа к чему-либо из кучи у нас должен быть указатель.

Указатель p используется для доступа к массиву A размера 5 (на данный момент)

В любом языке, когда вы объявляете переменную, память для этой переменной помещается в стек.

Непосредственный доступ к динамической памяти невозможен. Нам нужна память в куче, тогда нам нужно использовать функцию malloc в C или новую функцию в C++.

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

Увеличение размера массива

Допустим, у вас в памяти есть массив размером 5, но вы не знаете, свободен следующий блок памяти или нет. Следовательно, вы не можете увеличить размер массива напрямую. Вместо этого вам нужно взять больший массив, скопировать элементы меньшего массива, а затем удалить маленький массив.

Здесь, учитывая, что размера 5 места было недостаточно, мы сделали массив большего размера и переместили элементы предыдущего массива в больший массив размера 10.

Это все на сегодня. Я вернусь с частью 2, где мы будем обсуждать все о 2-х и 3-х мерных массивах.

Чао!