读书人

可以将结构体的定义写在头文件中供其

发布时间: 2012-03-11 18:15:38 作者: rapoo

可以将结构体的定义写在头文件中,供其它程序享用吗?
typedef struct student
{ char num[20];
char name[15];
char sex;
float score[N];
}STU;
STU stu[M];

[解决办法]
STU stu[M];
变量定义,分配内存的行为
多个文件包含就会产生多个stu对象
链接的时候出现 符号已经定义的错误
[解决办法]
还是不要这么复杂了,直接在头文件里用extern ,然后在某个c文件中定义其变量,何必还用宏这么复杂的处理

总之,在h中类型定义可以,但是不能定义变量
[解决办法]
结构体用typedef定义

typedef struct student
{ char num[20];
char name[15];
char sex;
float score[N];
}STU;

然后用EXTERN student g_stu就行了

读书人网 >C语言

热点推荐