搜索

[STM32F1] 这样用是否合理?

[复制链接]
252|33
 楼主 | 2021-4-6 23:18 | 显示全部楼层 |阅读模式
定义:
unsigned int data len; //用到了len
void send(unsigned int len); //也使用了了len,是否合理?

使用特权

评论回复
| 2021-4-6 23:19 | 显示全部楼层

没有问题
这是C的问题,和KEIL没有关系

使用特权

评论回复
| 2021-4-6 23:21 | 显示全部楼层
void send(unsigned int len);  这里只是声明有个参数unsigned int而后面的len此处没有意义

使用特权

评论回复
| 2021-4-6 23:23 | 显示全部楼层
这种用法是可以的,不过最好还是区别开

使用特权

评论回复
| 2021-4-6 23:25 | 显示全部楼层
如果全局变量和局部变量弄一样的 就不太好了。虽然运行也正确。

使用特权

评论回复
| 2021-4-6 23:27 | 显示全部楼层
没有问题的呀,你一编译肯定过得去的。

使用特权

评论回复
| 2021-4-6 23:29 | 显示全部楼层
那个是个形参,叫啥名字是给你看的,但是一直这样编下去会养成不好的习惯的

使用特权

评论回复
| 2021-4-6 23:35 | 显示全部楼层
前面那个如果是全局变量就不好了

使用特权

评论回复
| 2021-4-6 23:37 | 显示全部楼层
全局变量和局部变量这两者相互之间完全可以重名的

使用特权

评论回复
| 2021-4-6 23:39 | 显示全部楼层
可以相同,函数体里面的该变量名字为形参

使用特权

评论回复
| 2021-4-6 23:41 | 显示全部楼层
局变量的生命期和主程序一样

使用特权

评论回复
| 2021-4-6 23:44 | 显示全部楼层
形参和局部变量其实就是同一作用域的

使用特权

评论回复
| 2021-4-6 23:46 | 显示全部楼层
局部变量可以与全局变量同名的

使用特权

评论回复
| 2021-4-6 23:49 | 显示全部楼层
函数声明的时候符号名字是任意的,只是表明类型,并没有其他作用

使用特权

评论回复
| 2021-4-6 23:51 | 显示全部楼层
在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量

使用特权

评论回复
| 2021-4-6 23:53 | 显示全部楼层
在局部变量所在的块或者函数内,对变量的操作不影响全局变量的值

使用特权

评论回复
| 2021-4-6 23:55 | 显示全部楼层
全局变量不可以重复定义的

使用特权

评论回复
| 2021-4-6 23:57 | 显示全部楼层
此时的全局变量会暂时无效

使用特权

评论回复
| 2021-4-6 23:58 | 显示全部楼层
局部变量的作用范围内,该变量的标识(名字)一律指局部变量,而不是全局变量

使用特权

评论回复
| 2021-4-7 06:43 | 显示全部楼层
你在send函数中突然想用全局变量len怎么办?想明白后就可以酌情处理了。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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