找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4423|回复: 11
收起左侧

keil5如何在主函数里设置一个变量能在子程序里用

[复制链接]
ID:687992 发表于 2020-3-16 09:01 | 显示全部楼层 |阅读模式
我在主程序里设置了一个I想储存数在子文件的swtich里用,可是编译不了,说什么重复定义,难道想要两个文件联通只能用子函数么??
回复

使用道具 举报

ID:687992 发表于 2020-3-16 09:02 | 显示全部楼层
我倒是在两个文件里都定义了I,因为不这么做的话语法错误
回复

使用道具 举报

ID:689980 发表于 2020-3-16 10:45 | 显示全部楼层
用extern?
回复

使用道具 举报

ID:465981 发表于 2020-3-16 11:18 | 显示全部楼层
如果想要跨文件(同一个工程中)使用同一个变量(值同步改变),变量声明和定义方法:

首先在a.c定义全局变量:int y,并在a.h中声明:extern int y;

在另外一个xx.c文件中想要使用上述变量,包含头文件a.h即可使用
回复

使用道具 举报

ID:426861 发表于 2020-3-16 12:01 | 显示全部楼层
关键字extern
回复

使用道具 举报

ID:709172 发表于 2020-3-16 13:44 | 显示全部楼层
定义全局变量,用extern关键字。
先在某头文件定义变量,如:
extern unsigned int a;
再到主函数源文件里声明为
unsigned int a;
且使主函数源文件include某头文件即可。
回复

使用道具 举报

ID:641629 发表于 2020-3-16 15:11 | 显示全部楼层
全局变量
回复

使用道具 举报

ID:709787 发表于 2020-3-17 09:40 来自手机 | 显示全部楼层
比如在主文件
回复

使用道具 举报

ID:709787 发表于 2020-3-17 09:42 来自手机 | 显示全部楼层
比如在主文件里定义unsigned char a;    然后在子文件里加上extern unsigned a;(定义于外部变量的无符号短整型变量a)就可以使用了。
回复

使用道具 举报

ID:619787 发表于 2020-3-17 22:50 | 显示全部楼层
extern一个全局变量。
回复

使用道具 举报

ID:531524 发表于 2020-3-18 11:19 | 显示全部楼层
把它声明为全局变量
回复

使用道具 举报

ID:710817 发表于 2020-3-18 13:34 | 显示全部楼层
方法一:声明一个extern 的全局变量
方法二:用static 定义全局变量封装为函数供外部使用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表