[MCU] 这个用法可以不

[复制链接]
 楼主| wuhany 发表于 2019-8-4 20:30 | 显示全部楼层 |阅读模式
定义:
unsigned int data len; //用到了len
void send(unsigned int len); //也使用了了len,是否合理?

主程序{


}
huangchui 发表于 2019-8-17 16:28 | 显示全部楼层

没有问题
这是C的问题,和KEIL没有关系
void send(unsigned int len);  这里只是声明有个参数unsigned int而后面的len此处没有意义,可以省略....
jiahy 发表于 2019-8-17 16:31 | 显示全部楼层
这种用法是可以的,不过最好还是区别开,因为这两个“len”表达的是两个不同的东西。
lizye 发表于 2019-8-17 16:35 | 显示全部楼层

你这种说得过去,没啥问题。

但是如果全局变量和局部变量弄一样的 就不太好了。虽然运行也正确。

希望我表述是清楚的
shimx 发表于 2019-8-17 16:39 | 显示全部楼层

没有问题的呀,你一编译肯定过得去的。
jiahy 发表于 2019-8-17 16:42 | 显示全部楼层
那个是个形参,叫啥名字是给你看的,但是一直这样编下去会养成不好的习惯的。好习惯很重要。
yszong 发表于 2019-8-17 16:45 | 显示全部楼层


前面那个如果是全局变量就不好了
jiajs 发表于 2019-8-17 16:48 | 显示全部楼层
全局变量和局部变量这两者相互之间完全可以重名
zhanghqi 发表于 2019-8-17 16:51 | 显示全部楼层
可以相同,函数体里面的该变量名字为形参
zhaoxqi 发表于 2019-8-17 16:54 | 显示全部楼层
局变量的生命期和主程序一样
zhenykun 发表于 2019-8-17 16:56 | 显示全部楼层
形参和局部变量其实就是同一作用域的
jiaxw 发表于 2019-8-17 16:59 | 显示全部楼层
局部变量可以与全局变量同名
spark周 发表于 2019-8-17 17:05 | 显示全部楼层
在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
jiahy 发表于 2019-8-17 17:11 | 显示全部楼层
局部变量会覆盖全局变量,在局部变量所在的块或者函数内,对变量的操作不影响全局变量的值
wyjie 发表于 2019-8-17 17:15 | 显示全部楼层
全局变量不可以重复定义
yszong 发表于 2019-8-17 17:18 | 显示全部楼层
此时的全局变量会暂时无效
yszong 发表于 2019-8-17 17:20 | 显示全部楼层
局部变量的作用范围内,该变量的标识(名字)一律指局部变量,而不是全局变量
spark周 发表于 2019-8-17 17:23 | 显示全部楼层
全局不可以相同。但是函数的形参可以。
 楼主| wuhany 发表于 2019-8-17 17:26 | 显示全部楼层

其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部