之间的确切区别是什么 struct node head 和 struct node * head 如果我的结构是以下形式 -
struct node
{int data;
struct node *next;
};
答案 0 :(得分:0)
一个是struct 实例(struct node head
),另一个是结构实例(struct node * head
)的指针。
struct node a; /* Allocate space for a new node struct "a". */
a.data = 123;
a.next = NULL;
struct node * b = &a; /* Create a pointer "b" referring to "a". */
b->data = 234;
// Now a.data == 234.
答案 1 :(得分:0)
struct node head - > “head”是“struct node”类型的变量,即headof sizeof(struct node)
的sizeofstruct node * head - > “head”是指向“struct node”类型结构的指针,因此sizeof head =一般指针大小。
你能做到的, head.data = X; head.next = NULL;但你做不到 头戴式>数据= X; 头戴式>接着= NULL;
因为当你说“struct node head”时,已经为你分配了内存,这与后来需要在使用这些内存之前进行动态内存分配的情况不同。