Определение Data_t
не появляется в вашем коде, что и является причиной ошибки компиляции.
Также - к вашему конкретному вопросу, этот код разыменовывает неинициализированный указатель, который вызывает неопределенное поведение,Инициализируйте поле data
в структуре config
в main
, иначе у вас возникнут проблемы.Этот блок кода:
Data_t *dataa = config->data;
for(i=0;i<5;i++){
dataa[i].mem1=i;
dataa[i].mem2=4+i;
}
Это плохой материал - как вы можете видеть, он копирует унитализированный указатель и пытается через него получить доступ к памяти.
Код после этого:
//Set values
config->a = 1;
Прекрасный и вполне разумный способ инициализации структуры.