源程序文件之间存在结构全局变量吗,在c语言环境下

majialong 2005-04-28 05:43:50
我在一个头文件中定义了一个结构,因为每个仪器的源程序中都要用到该结构,所以在每个源程序中都加了这个头文件,然后将该结构在主程序中初始化,在每个仪器的.c中都extern,可这样这个结构可以从主程序传到每个仪器源程序中,却传不回来。各位高手,帮帮忙,我这是在c语言环境下,因为这样才可以顺利地与仪器通信,注意啊
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
whyglinux 2005-04-28
  • 打赏
  • 举报
回复
“结构”可以有两种含义:一是结构体的定义(类型定义),二是结构体变量的定义。不清楚你开始说的“结构”指的是哪种。

一般是这样做的:在头文件中定义这个结构体,然后使用 extern 声明一个结构体变量,把这个头文件包含在每一个使用这个结构体变量的.c文件中。最后在一个.c文件(比如main()所在的文件)中定义这个结构体变量的实现。

>> 因为带extern的都是声明

如果extern语句中有初始化,则它是一个定义。
junnyfeng 2005-04-28
  • 打赏
  • 举报
回复
在头文件写结构定义,然后.c中包含,一般可以直接使用
oyljerry 2005-04-28
  • 打赏
  • 举报
回复
在h文件中定义了,就可以用了
注意防止重复包含
或者一个地方定义,其他地方extern
useresu 2005-04-28
  • 打赏
  • 举报
回复
你的结构变量是全局定义的吗?
就是不带extern的那个,
因为带extern的都是声明,
只有你的结构变量定义的是全局的
才可以

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧