Как правильно создать динамический массив структур - C (СИ)
Формулировка задачи:
Привет всем! Мне нужна помощь по C . У меня есть такая структура :
И я пытался разместить и инициализировать массив таким образом:
но такая схема не работает. Как правильно задать динамический массив структур?
typedef struct cell cell; struct cell { short type; double dx; double pos; };
grid = (struct cell *)calloc(ncells*sizeof(struct cell),sizeof(struct cell));
Решение задачи: «Как правильно создать динамический массив структур»
textual
Листинг программы
typedef struct cell { short type; double dx; double pos; } cel; if(!(grid=(cel*)calloc(ncells,sizeof(*cel))) { printf("Memory is not enough"); return 0; }
Объяснение кода листинга программы
- Объявляется структура
cell
с полямиtype
,dx
иpos
. - Проверяется достаточность выделенной памяти для динамического массива структур.
- Если выделенной памяти недостаточно, выводится сообщение об ошибке и возвращается 0.
- Иначе, переменная
grid
инициализируется адресом выделенного блока памяти.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д