Динамическими называются массивы, размер которых неизвестен на этапе написания
программы. Прием, о котором мы будем говорить, относится уже не к стандартному языку Си, а к его расширению Си ++. Существуют и стандартные способы выделения памяти в языке Си(с помощью функций malloc и calloc), но они не очень удобны.
Следующая простейшая программа, которая использует динамический массив, вводит с
клавиатуры размер массива, все его элементы, а затем сортирует их и выводит на экран.
#include <stdio.h>
Main()
{
Int N; // размер массива (заранее неизвестен)
int *A; // указатель для выделения памяти
printf ("Размер массива > "); // ввод размера массива
scanf ("%d", &N);
A = new int [N]; // выделениепамяти
if (A == NULL) { // если не удалось выделить
printf("Не удалось выделить память");
Return 1; // выход по ошибке, код ошибки 1
}
for (i = 0; i < N; i ++) { // дальше так же, как для массива
printf ("\nA[%d] > ", i+1);
scanf ("%d", &A[i]);
}
// здесь сортировка и вывод на экран