[STM32F1] 这个用法可以不

[复制链接]
1334|35
 楼主| huwr 发表于 2022-9-3 12:09 | 显示全部楼层 |阅读模式
定义:
unsigned int data len; //用到了len
void send(unsigned int len); //也使用了了len,是否合理?

主程序{


}
wangzsa 发表于 2022-9-3 12:11 | 显示全部楼层
没有问题,这是C的问题,和KEIL没有关系
pengf 发表于 2022-9-3 12:14 | 显示全部楼层
void send(unsigned int len);  这里只是声明有个参数unsigned int而后面的len此处没有意义,可以省略....
xxrs 发表于 2022-9-3 12:16 | 显示全部楼层

这种用法是可以的,不过最好还是区别开,因为这两个“len”表达的是两个不同的东西。
jlyuan 发表于 2022-9-3 12:18 | 显示全部楼层
但是如果全局变量和局部变量弄一样的 就不太好了。虽然运行也正确。
pengf 发表于 2022-9-3 12:23 | 显示全部楼层
没有问题的呀,你一编译肯定过得去的。
zhanghqi 发表于 2022-9-3 12:25 | 显示全部楼层

那个是个形参,叫啥名字是给你看的,但是一直这样编下去会养成不好的习惯的。
juventus9554 发表于 2022-9-3 12:27 | 显示全部楼层
前面那个如果是全局变量就不好了
zwll 发表于 2022-9-3 13:00 | 显示全部楼层
全局变量和局部变量这两者相互之间完全可以重名
stly 发表于 2022-9-3 13:02 | 显示全部楼层
局变量的生命期和主程序一样
renyaq 发表于 2022-9-3 13:04 | 显示全部楼层
局部变量可以与全局变量同名。。
dengdc 发表于 2022-9-3 13:07 | 显示全部楼层
局部变量会覆盖全局变量,在局部变量所在的块或者函数内,对变量的操作不影响全局变量的值。
jlyuan 发表于 2022-9-3 13:10 | 显示全部楼层
全局不可以相同。但是函数的形参可以。
dengdc 发表于 2022-9-3 13:15 | 显示全部楼层
同一作用域,重复申明但不赋值,不会对变量有影响。。
supernan 发表于 2022-9-3 13:20 | 显示全部楼层
不是同一作用域。
heweibig 发表于 2022-9-3 13:23 | 显示全部楼层
函数的形参根本就不会作为一个符号
spark周 发表于 2022-9-3 13:25 | 显示全部楼层
你在函数入口定义的只能在函数内有效,也就是局部变量。
jiajs 发表于 2022-9-3 13:28 | 显示全部楼层
可以,一个是全局变量一个是局部变量,作用范围不同。
zhanghqi 发表于 2022-9-3 13:31 | 显示全部楼层
可以 问题是你要宏定义一下这个len
chuxh 发表于 2022-9-3 13:40 | 显示全部楼层
可以 没有问题的 不过你要定义一下len
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

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