免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yyangh
打印 上一主题 下一主题

全局结构体?如何使用? [复制链接]

论坛徽章:
3
巳蛇
日期:2013-10-03 10:41:48申猴
日期:2014-07-29 16:12:04天蝎座
日期:2014-08-21 09:24:52
11 [报告]
发表于 2010-08-10 11:28 |只看该作者
问题我是想让这个变量里的值让别的.c文件可以读到,这个变量在main.c文件里初始化赋了值,想让它在所有.c文件里都可以读到,仅仅包函一个.h文件可以做到吗?
=======
全局变量不就是干这个的么....
错了,是外部变量..{:3_190:}

论坛徽章:
0
12 [报告]
发表于 2010-08-10 14:55 |只看该作者
我发现普通变量可以,结构体不可以?
extern global * data;

论坛徽章:
0
13 [报告]
发表于 2010-08-10 14:59 |只看该作者
部是提示:初始值设定元素不是常量!

论坛徽章:
0
14 [报告]
发表于 2010-08-10 15:18 |只看该作者
注意定义变量的作用域

全局变量才能extern

并且是定义时不能加static
  1. #inlcude <stdio.h>

  2. int i;      //定义这里

  3. static int l;        //这样定义也不能用extern 引用

  4. int
  5. main(int arc, char **argv)
  6. {
  7.         int i;       //定义在这里就悲剧
  8. }
复制代码

论坛徽章:
0
15 [报告]
发表于 2010-08-10 15:48 |只看该作者
要说的都被大伙说了

论坛徽章:
0
16 [报告]
发表于 2010-08-10 16:00 |只看该作者
你那个DATA是局部变量

论坛徽章:
0
17 [报告]
发表于 2010-08-10 23:07 |只看该作者
声明放在.h文件里面吧,其他.c文件extern应该就行了

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
18 [报告]
发表于 2010-08-10 23:17 |只看该作者
这样好么?

感觉很别扭,我建议还是传递指针。

论坛徽章:
1
天蝎座
日期:2014-02-28 16:08:53
19 [报告]
发表于 2010-08-11 09:35 |只看该作者
  1. global * data = (global *) malloc (100 * sizeof(global));
复制代码
不见得是全局的吧

论坛徽章:
0
20 [报告]
发表于 2010-08-11 09:38 |只看该作者
先看看老谭吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP