1
我想C语言创建一个双向链表typedef和指针和我有一个关于代码如下一个问题:结构和用C
typedef struct Node{
double coeff;
int exp;
struct Node* next;
struct Node* prev;
}Node;
我的问题:
在线路(5 ) 以上;说我正在创建一个名为next的指针变量是否正确?而这个变量的类型是Node?这个变量会指向存储在内存中的下一个节点的地址吗?
Node *与Node *指针相同吗?
感谢您的帮助;在我进一步发展之前,我想让我的基础扎实。
是的,但你必须确保它将指向存储在内存中的下一个节点的地址。而'*'之前或之后的空格对它的意义没有影响。 – wimh 2014-11-14 23:23:55
'next'的类型是'struct Node *'(一个指向'struct Node'的指针)。除非您设置它,否则它不指向有效内存。 – clcto 2014-11-14 23:24:08
在C中,你已经定义了一个'struct Node'类型,并且在结构体的定义过程中使用它。别名('typedef')名称'Node'直到最后一个分号才定义;它在此之前不能使用。如果你在问'struct Node * next;'和'struct Node * next'之间的区别,唯一的区别就是间距。但是,请注意,如果你编写了'struct Node * next,* prev;','next'和'prev'都是指针;相反,如果你写了'struct Node * next,prev;',那么'next'是一个指针,但'prev'是一个普通的'struct Node',而不是一个指针。 – 2014-11-14 23:28:25