您的位置:首页 > 其它

使用extern声明结构体遇到的问题及解决办法

2014-10-08 16:28 375 查看
当在A.c文件中声明并定义一个结构体

struct std{...};

struct std s1;(s1为全局变量)

如果想要在B.c中使用s1结构体变量,则需要在B.c中用extern关键字声明s1

extern struct std s1;

同时必须在B.c中声明struct std{...}结构体类型。可以在B.c中直接声明这个结构体,也可以

将结构体的声明写在A.h中,然后在B.c中包含A.h这个头文件。

对于结构体来说,struct std{...};是声明,这个可以有多次。但是定义只可以有一次,如果

写成struct std{...}s1;则是在声明的同时定义,这个只能有一次,如果把它写在头文件中被多

个文件包含极易造成重复定义的错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐