Эта программа рушится. Скажите, пожалуйста, что с этим не так. Когда я использую массив вместо указателя, например Name[12]
, в структуре он не падает. Я предполагаю, что есть некоторая проблема в распределении динамической памяти. Помоги пожалуйста.Почему эта программа рушится, я ошибочно выделил память
#include <stdio.h>
struct struct_tag
{
int number;
char *Name;
} struct_name;
main()
{
struct_name.number = 34;
char *Name = (char *) malloc(sizeof(char));
strcpy(struct_name.Name,"A");
printf("%d", struct_name.number);
}
[Пожалуйста, не бросайте возвращаемое значение 'таНос()' в C] (http://stackoverflow.com/questions/605845/do -i-монолитно-заместитель на результат из-таНоса). – unwind
'char * Name' - это не то же самое, что' struct_name.Name'. – DCoder
@unwind sir мой учитель сказал мне malloc return void pointer его важно бросить его сказать, что должно вернуть значение – user3995169