이 코드를 실행할 때 printf
문이 작동하지 않는 이유를 알 수 없습니다.포인터로 포인터를 사용하여 Realloc 동작
typedef struct list {
int n;
struct list *next;
}List;
List **head;
List *tmp=malloc(sizeof(List));
tmp->n=34;
tmp->next=NULL;
List *tmp2=malloc(sizeof(List));
tmp2->n=45;
tmp2->next=NULL;
List *tmp3=malloc(sizeof(List));
tmp3->n=26;
tmp3->next=NULL;
head=malloc(sizeof(head));
head[0]=tmp;
head[1]=tmp2;
head=realloc(head,sizeof(head));
head[2]=tmp3;
printf("n of tmp:%d \n",head[0][0].n);
printf("n of tmp2:%d \n",head[1][0].n);
printf("n of tmp3:%d \n",head[2][0].n);
나는 그 이유는 아마
realloc
이라고 생각
, 그런데 왜 : 여기 코드인가? 나는 제대로 사용하고있다, 안 그래? 나는 당신은 단지 하나의 포인터를위한 공간을 할당이 튜토리얼을 http://www.tutorialspoint.com/c_standard_library/c_function_realloc.htm