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