这个用法可以不

[复制链接]
1014|25
 楼主| wuhany 发表于 2017-6-29 19:54 | 显示全部楼层 |阅读模式
定义:
unsigned int data len; //用到了len
void send(unsigned int len); //也使用了了len,是否合理?

主程序{


}
huangchui 发表于 2017-6-29 19:55 | 显示全部楼层

没有问题
这是C的问题,和KEIL没有关系
void send(unsigned int len);  这里只是声明有个参数unsigned int而后面的len此处没有意义,可以省略....
jiahy 发表于 2017-6-29 19:56 | 显示全部楼层

这种用法是可以的,不过最好还是区别开,因为这两个“len”表达的是两个不同的东西。
lizye 发表于 2017-6-29 19:58 | 显示全部楼层

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

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

希望我表述是清楚的
shimx 发表于 2017-6-29 20:00 | 显示全部楼层
没有问题的呀,你一编译肯定过得去的。
jiahy 发表于 2017-6-29 20:02 | 显示全部楼层
那个是个形参,叫啥名字是给你看的,但是一直这样编下去会养成不好的习惯的。好习惯很重要。
yszong 发表于 2017-6-29 20:04 | 显示全部楼层

前面那个如果是全局变量就不好了
 楼主| wuhany 发表于 2017-6-29 20:05 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
kkzz 发表于 2017-6-29 23:08 | 显示全部楼层
全局变量和局部变量这两者相互之间完全可以重名
hudi008 发表于 2017-6-29 23:08 | 显示全部楼层
可以相同,函数体里面的该变量名字为形参
lzmm 发表于 2017-6-29 23:09 | 显示全部楼层
局变量的生命期和主程序一样
minzisc 发表于 2017-6-29 23:09 | 显示全部楼层
形参和局部变量其实就是同一作用域的
selongli 发表于 2017-6-29 23:09 | 显示全部楼层
局部变量可以与全局变量同名
fentianyou 发表于 2017-6-29 23:10 | 显示全部楼层
在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
xiaoyaodz 发表于 2017-6-29 23:11 | 显示全部楼层
局部变量会覆盖全局变量,在局部变量所在的块或者函数内,对变量的操作不影响全局变量的值
febgxu 发表于 2017-6-29 23:11 | 显示全部楼层
全局变量不可以重复定义
sdlls 发表于 2017-6-29 23:11 | 显示全部楼层
此时的全局变量会暂时无效
kkzz 发表于 2017-6-29 23:12 | 显示全部楼层
局部变量的作用范围内,该变量的标识(名字)一律指局部变量,而不是全局变量
hudi008 发表于 2017-6-29 23:12 | 显示全部楼层
全局不可以相同。但是函数的形参可以。
lzmm 发表于 2017-6-29 23:12 | 显示全部楼层
局部变量在函数内部
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

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