GCC의 나는이 줄에 스택 덤프를 얻고있다중첩 된 구조 할당 메모리
C89 :
strcpy(comp->persons->name, "Joe");
그러나, 나는 할당 된 메모리, 그래서 그것을 얻고있을 이유 확실하지. 내가 여기서 뭔가를 놓치고 있니? 당신은 comp->person
메모리를 할당 할 필요가
당신은 회사의 구조에 대한 메모리를 할당하지만, EMP의 구조하지 않은 한
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct company
{
struct emp *persons;
char company_name[32];
};
struct emp
{
char name[32];
char position[32];
};
int main(void)
{
struct company *comp;
comp = malloc(sizeof *comp);
memset(comp, 0, sizeof *comp);
strcpy(comp->persons->name, "Joe");
strcpy(comp->persons->position, "Software Engineer");
printf("Company = [ %s ]\n", comp->company_name);
printf("Name ==== [ %s ]\n", comp->persons->name);
printf("Postion ==== [ %s ]\n", comp->persons->position);
free(comp);
return 0;
}