struct student_s {
char* name;
int age;
double height;
struct student_s* next;
};
如果它是一个类型定义,那么它与以下内容有何区别:
typedef struct student_s {
char* name;
int age;
double height;
struct student_s* next;
};
背景:请参考我在Changing a variable from global to local - C的回答,在那里我认为第一个引入了一个无名变量,然后被编译器优化掉了。
注意:这个问题已经被标记为可能是结构体成员标识符放置的作用域是什么?的重复问题,但我认为我并没有问关于成员作用域的问题,而是关于声明实际上创建了什么。然而,C ++中'struct'和'typedef struct'之间的区别的答案解释了我的问题。
typedef
没有名称参数。 - Filipe Gonçalves