Я продолжаю получать ошибку сегментации, и я знаю ее из указателя char. Но я не могу понять, почему?Seg Fault, указатели malloc char
Whiskey* createWhiskey(int a, double p, char* n){
Whiskey* whiskey = malloc(sizeof(Whiskey));
whiskey->age = a;
whiskey->proof = p;
whiskey->name = malloc((strlen(n)+1) * sizeof(char));
strcpy(whiskey->name, n);
return whiskey;
}
int main(){
Whiskey* burbon;
burbon = createWhiskey(12, 90.0, "MakersMark");
free(burbon);
return 0;
}
В комментарии от Alex (смотри ниже) добавляется следующая информация:
typedef struct{ int age; double proof; char* name; }Whiskey;
вы можете показать нам 'определение структуры Whiskey'. – Haris
Пожалуйста, обновите весь код –
Предполагая, что структура данных является «очевидной», то, кроме того, что нет результатов проверки результатов malloc, она выглядит нормально. Вы пробовали отладчик или отпечатки, чтобы сузить место аварии? – John3136