Динамическое выделение памяти - C (СИ) (73195)
Формулировка задачи:
Пользователь вводит число. Программа динамически выделяет массив типа char размера n, c помощью функции malloc или оператора new. Затем память выделенная для массива освобождается
Решение задачи: «Динамическое выделение памяти»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
int main()
{
int n; //в эту переменную будет введено количество элементов в массиве
char *p; //в эту переменную будет помещен указатель на динамический массив
printf("Input number of elements: ");
scanf("%d", &n); //вводим число в переменную n
p = (char*)malloc( n*sizeof(char) ); //выделяем память
free(p); //освобождаем память, выделенную под массив
return 0; //успешное завершение программы
}
Объяснение кода листинга программы
- Объявляются переменные n и p.
- Пользователю предлагается ввести количество элементов в массиве.
- С помощью функции scanf значение введенное пользователем сохраняется в переменной n.
- С помощью функции malloc выделяется память под массив.
- Выделенный массив присваивается указателю p.
- Выводится сообщение об успешном выделении памяти.
- Выделенная память освобождается с помощью функции free.
- Программа завершается с возвращением 0, что означает успешное выполнение.