我在下面有以下代码。
typedef struct person Person;
Person {
char* name;
int age;
};
根据我的理解,typedef将替换" struct person"与人。所以在制作结构时,它等于写:
struct person {
char* name;
int age;
};
这种想法是否正确? 因为我得到一个错误结构的第一行的错误。
错误:预期标识符或'(''''令牌之前 此错误指的是以下行: Person {
感谢任何帮助。感谢
答案 0 :(得分:4)
这样做
typedef struct person Person;
struct person {
char* name;
int age;
};
然后,您可以Person
使用struct
的所有用法。
也不需要不同的大写
typedef struct person person;
也会做得很好。
答案 1 :(得分:3)
做你想做的事的一种方法是:
struct person {
char* name;
int age;
};
typedef struct person Person;
或者,如果您想在一条指令中完成此操作,您可以这样做:
typedef struct person {
char* name;
int age;
} Person;
答案 2 :(得分:0)
可能的方法如下:
typedef struct {
char* name;
int age;
} Person;