Я пытаюсь динамически выделять массив структур в c, чтобы я мог ссылаться на них так же, как если бы я сделал статическое объявление. Я понимаю, что calloc() делает дополнительный шаг инициализации всей выделенной памяти равным 0. Но, кроме этого, 2 полностью взаимозаменяемы для следующего кода? Если я использую fread() и fwrite() для получения этих структур данных в файле и из него, помогает ли calloc() или препятствует этому?calloc, malloc и динамическое распределение структуры
#define MAGIC 13
struct s_myStruct {
int a[6000][400];
int b[6000][400];
int c[6000][400];
};
struct s_myStruct stuff[MAGIC];
vs
struct s_myStruct *stuff = calloc(MAGIC, sizeof(s_myStruct);
спасибо.
Что это касается файлов? – Joe
Также вы можете использовать «универсальный нулевой инициализатор» для вашего массива: 'struct s_myStruct stuff [MAGIC] = {0};' – pmg