2016-08-28 3 views
0

Так что я хочу выделить память для структуры, но я новичок в C и не знаю, как ее выделить. Структура of состоит из 2 ints, 1 char, 1 bool (может быть изменена на int) и 2 двухместных. Я должен прочитать или ввести файл и сохранить информацию из этого файла в структуре, но объем информации из файла может измениться. Итак, какой был бы лучший способ создать для этого необходимое пространство?Как динамически выделять память для структуры с неизвестным размером?

+0

Как насчет 'malloc'? –

+0

Не волнуйся. Компилятор будет знать размер (и вы можете узнать, используя оператор sizeof). – Mick

+0

@ Kerrek Как мне это сделать? из того, что я знаю его malloc (sizeof (___) или like (int *) malloc (sizeof (___)). Я видел это, но я не уверен, как их использовать. –

ответ

3

Использование malloc и sizeof.

#include <stdlib.h> 

... 

struct your_struct *s = malloc(sizeof(*s)); 
+1

Это должно появиться внутри функции, оно не может появляться в области файлов, как показывает ваш ответ. –

Смежные вопросы