Динамическое выделение памяти

Динамическими называются массивы, размер которых неизвестен на этапе написания

программы. Прием, о котором мы будем говорить, относится уже не к стандартному языку Си, а к его расширению Си ++. Существуют и стандартные способы выделения памяти в языке Си(с помощью функций 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]);

}

// здесь сортировка и вывод на экран


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: