OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4294|回复: 4

c语言中static关键字,请教一下。。。。

[复制链接]

12

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2015-3-5
在线时间
9 小时
发表于 2015-3-27 21:31:16 | 显示全部楼层 |阅读模式
5金钱
比如说下面这个函数:


我是不是可以这么理解,变量key_up在程序运行之前创建,多次调用这个函数,并不会在函数里面对key_up进行重复的声明和初始化,而是相当于直接跳过第一条语句,保持上一次被修改后的值。。

主要是重复进入函数关于这个变量声明和初始化的问题想不通。。

最佳答案

查看完整内容[请看2#楼]

static  只会初始化一次 也即多次进入函数 并不会清零,而是继续上次的状态
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13131
金钱
13131
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-3-27 21:31:17 | 显示全部楼层

static  只会初始化一次


也即多次进入函数 并不会清零,而是继续上次的状态

学无止境
回复

使用道具 举报

8

主题

28

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1082
金钱
1082
注册时间
2015-3-24
在线时间
117 小时
发表于 2015-3-28 08:51:17 | 显示全部楼层
VB中叫静态变量,VC也应该是这样称呼
VB软件,单片机制作(揭阳地区)
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2015-3-28 15:46:20 | 显示全部楼层
看成全局变量就行了。只是限制只能在该函数里访问它。
业余程序玩家。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-3-11
在线时间
0 小时
发表于 2015-3-28 18:40:02 | 显示全部楼层
static静态变量,虽然定义在函数内部,但退出函数后,该变量不会被系统释放,其值仍然保留,再次进入函数后,不会重新赋初值。
简单说,就可以看做是全局变量。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 11:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表