<分区>
我有 1 个节点:
struct node
{
int key;
struct node *left, *right;
};
有什么区别
node *node1
对比
node* node1
?
<分区>
我有 1 个节点:
struct node
{
int key;
struct node *left, *right;
};
有什么区别
node *node1
对比
node* node1
?
最佳答案
如果没有 typedef
,这两个声明都是非法的。
像typedef
typedef struct node node;
到位,没有区别。这两个语句都声明了一个指向 node
的指针类型的变量 node1
。 (注意:不过您仍然需要终止 ;
)。
这是一个选择问题,但有些人(包括我)更喜欢将指针符号附加到变量上,以避免在声明多个变量的情况下产生误解,例如
node *p, q;
其中,p
是指针类型,q
不是。
这样写
node* p, q;
可能造成p
和q
都是指针类型的错觉,而实际上,它们不是.
关于c - node *node1 与 node* node1 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44055033/