使用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;则是在声明的同时定义,这个只能有一次,如果把它写在头文件中被多
个文件包含极易造成重复定义的错误。
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;则是在声明的同时定义,这个只能有一次,如果把它写在头文件中被多
个文件包含极易造成重复定义的错误。
相关文章推荐
- 使用标准C读取文件遇到的结构体对齐问题及其解决办法
- 使用标准C读取文件遇到的结构体对齐问题及其解决办法
- CVS使用中遇到的问题及解决办法[随记]
- updater application block v2.0的使用过程中遇到的问题及解决办法
- ASIHTTPRequest使用过程中遇到的问题及解决办法
- CentOS-5.2上使用源码安装SystemTap-1.1遇到的问题(SEC_ERROR_PKCS11_GENERAL_ERROR)及解决办法
- ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法
- ASIHTTPRequest使用过程中遇到的问题及解决办法
- ASP.NET 4.0中使用FreeTextBox遇到安全问题警告的解决办法
- 严重: Error listenerStart的解决办法---使用Spring时遇到的问题
- 使用最新的cvs及cvsweb,遇到的问题解决办法。
- pligg9.7beta的后HTML编辑器插件的安装(tinymce_2_1_1_1)(以及使用中遇到的点滴问题解决办法)
- ASP.NET 4.0中使用FreeTextBox遇到安全问题警告的解决办法
- ObjectARX中使用非模态对话框遇到的两个问题及解决办法
- 使用Linq 更新数据库时遇到的一些问题及解决办法
- 自己在使用Android Maps API 开发地图应用程序时遇到的问题,以及解决的办法
- 使用Ubuntu遇到的问题及解决办法
- ASP.NET 4.0中使用FreeTextBox和FCKeditor遇到安全问题警告的解决办法
- Extjs gridpanel使用遇到selectionchange被多次触发问题解决办法,grid表格复选框无法取消选中
- 使用Orientation Changed Notification遇到的问题及解决办法