typedef struct node{
int data;
struct node *next;
}Node;
会这有什么区别,如果我使用“节点”而不是“节点”我们可以使用typedef struct node node;
typedef struct node{
int data;
struct node *next;
}node;
typedef struct node{
int data;
struct node *next;
}Node;
会这有什么区别,如果我使用“节点”而不是“节点”我们可以使用typedef struct node node;
typedef struct node{
int data;
struct node *next;
}node;
不,它只是一个名字。然而,大多数C命名约定规定typedef
结构是大写,因此大多数更喜欢Node
。
好的,但是为什么我在'C'代码中使用'C++'命名约定(#只是为了好玩)。 :-) –
哎哟....我修正了这个问题。谢谢 :) –
结构,联合和枚举的标签名称与其他标识符(包括typedef名称)占用不同的名称空间,因此typedef struct node { ... } node;
有效。
结构和工会成员的名字占据的另一个命名空间,所以下面是合法的,如果是不明智的:
typedef struct foo { int foo; } foo;
什么你不能做的是一样的东西
typedef struct foo {...} foo;
foo foo;
因为typedef名称和变量名称都占用相同的名称空间。
你试过了吗?它(没有)工作吗? –
这只是一个名字。 –
它是有效的。我们可以使用它。 – BLUEPIXY