打印
[STM32F1]

这个用法可以不

[复制链接]
777|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”表达的是两个不同的东西。

使用特权

评论回复
5
jlyuan| | 2022-9-3 12:18 | 只看该作者
但是如果全局变量和局部变量弄一样的 就不太好了。虽然运行也正确。

使用特权

评论回复
6
pengf| | 2022-9-3 12:23 | 只看该作者
没有问题的呀,你一编译肯定过得去的。

使用特权

评论回复
7
zhanghqi| | 2022-9-3 12:25 | 只看该作者

那个是个形参,叫啥名字是给你看的,但是一直这样编下去会养成不好的习惯的。

使用特权

评论回复
8
juventus9554| | 2022-9-3 12:27 | 只看该作者
前面那个如果是全局变量就不好了

使用特权

评论回复
9
zwll| | 2022-9-3 13:00 | 只看该作者
全局变量和局部变量这两者相互之间完全可以重名

使用特权

评论回复
10
stly| | 2022-9-3 13:02 | 只看该作者
局变量的生命期和主程序一样

使用特权

评论回复
11
renyaq| | 2022-9-3 13:04 | 只看该作者
局部变量可以与全局变量同名。。

使用特权

评论回复
12
dengdc| | 2022-9-3 13:07 | 只看该作者
局部变量会覆盖全局变量,在局部变量所在的块或者函数内,对变量的操作不影响全局变量的值。

使用特权

评论回复
13
jlyuan| | 2022-9-3 13:10 | 只看该作者
全局不可以相同。但是函数的形参可以。

使用特权

评论回复
14
dengdc| | 2022-9-3 13:15 | 只看该作者
同一作用域,重复申明但不赋值,不会对变量有影响。。

使用特权

评论回复
15
supernan| | 2022-9-3 13:20 | 只看该作者
不是同一作用域。

使用特权

评论回复
16
heweibig| | 2022-9-3 13:23 | 只看该作者
函数的形参根本就不会作为一个符号

使用特权

评论回复
17
spark周| | 2022-9-3 13:25 | 只看该作者
你在函数入口定义的只能在函数内有效,也就是局部变量。

使用特权

评论回复
18
jiajs| | 2022-9-3 13:28 | 只看该作者
可以,一个是全局变量一个是局部变量,作用范围不同。

使用特权

评论回复
19
zhanghqi| | 2022-9-3 13:31 | 只看该作者
可以 问题是你要宏定义一下这个len

使用特权

评论回复
20
chuxh| | 2022-9-3 13:40 | 只看该作者
可以 没有问题的 不过你要定义一下len

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝