This question already has answers here:
Closed 2 years ago.
Placement of the asterisk in pointer declarations
(14个答案)
我有一个节点:
有什么区别
对
?
到位了,没什么区别。这两个语句都声明了指向
这是一个选择的问题,但是有些人(包括我)更喜欢将指针符号附加到变量上,以避免误解,例如
其中,
写得像
可能会产生一种错觉,即
(14个答案)
我有一个节点:
struct node
{
int key;
struct node *left, *right;
};
有什么区别
node *node1
对
node* node1
?
最佳答案
如果没有typedef
,两个声明都是非法的。
类似于
typedef struct node node;
到位了,没什么区别。这两个语句都声明了指向
typedef
的指针类型的变量node1
。(注意:您仍然需要终止node
)。这是一个选择的问题,但是有些人(包括我)更喜欢将指针符号附加到变量上,以避免误解,例如
node *p, q;
其中,
;
是指针类型,但p
不是。写得像
node* p, q;
可能会产生一种错觉,即
q
和p
都是指针类型,而实际上它们不是指针类型。关于c - node * node1与node * node1有什么区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44055033/
10-09 07:34