Не работает calloc в DevC++ - C (СИ)
Формулировка задачи:
Вот код программы.
Почему код там не компиллируется? В какой программе он заработает?
#include <stdlib.h> #include <stdio.h> float *get_mem(void) { float *p; р = (float *) calloc(100, sizeof(float)); if(!p) { printf ("Allocation failure."); exit (1); } return p; }
Решение задачи: «Не работает calloc в DevC++»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> #include <conio.h> float* get_mem(void) { float *p; p = calloc(100, sizeof(float)); if(!p) { printf("Allocation failure."); exit(1); } return p; } int main(void) { float *p = get_mem; free(p); getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdlib.h, printf.h, conio.h
- Создание функции get_mem, которая выделяет память под массив из 100 элементов типа float с помощью функции calloc.
- Проверка на успешное выделение памяти с помощью оператора if. Если память не выделена (т.е. p == NULL), выводится сообщение об ошибке и программа завершается с кодом 1.
- Возвращение указателя на выделенный блок памяти.
- В функции main вызывается функция get_mem и результат присваивается переменной p.
- Вызов функции free для освобождения памяти.
- Ожидание нажатия клавиши с помощью функции getch.
- Возвращение 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д