可以将结构体的定义写在头文件中,供其它程序享用吗?解决方法
可以将结构体的定义写在头文件中,供其它程序享用吗?
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就行了
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就行了