考虑遵循 C 代码 -
typedef struct node
{
int data;
}node;
int main()
{
node *temp;
temp->data=100;
printf("%d",temp->data);
return 0;
}
它Segmentation fault
在线包含temp->data=100;
因为(我认为)我没有为它分配内存。因此,没有诸如temp->data
.
但是,当我尝试使用 -
int main()
{
node *temp,*n;
n=(node*)malloc(sizeof(node));
n->data=100;
temp->data=n->data;
printf("%d",temp->data);
retrun 0;
}
它给出了正确的输出 100。我没有分配内存temp
指向的地方。但我仍然在复制n->data
到temp->data
. 如何 ??