首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

可以将结构体的定义写在头文件中,供其它程序享用吗?解决方法

2012-03-11 
可以将结构体的定义写在头文件中,供其它程序享用吗?typedef struct student{char num[20]char name[15]c

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

热点排行
Bad Request.