Я пытаюсь сделать простое написание и чтение двоичного файла в c, и я сталкиваюсь с трудностями.Вот мой код настолько урезанный, насколько я мог:
typedef struct car_struct{
char* make;
char* model;
short year;
long price;
int uniqueID;
}Car;
int main(){
FILE *fp = fopen("filename", "wb+");
Car car = {"s","s",1,1,1};
fwrite(&car, sizeof(Car), 1, fp);
rewind(fp);
Car* c;
fread(c,sizeof(Car),1,fp);
printf("%d \n",c->price);
}
Я думал, что код напишет структуру в файл, затем прочитает его и распечатает одно из его полей.Фактическим результатом, однако, является программа, завершающая работу, и ничего не распечатывается.Кажется, что где-то закралось неопределенное поведение, но я не уверен, где.В чем проблема с кодом?