你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
【3.28签到】每日问答——关键字static的作用是什么?
[复制链接]
苏柚
提问时间:2016-3-28 08:47 /
赞
0
收藏
0
评论
103
分享
发布时间:2016-3-28 08:47
请先
登录
后回复
103个回答
Paderboy
回答时间:2016-3-28 08:51:49
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
stary666
回答时间:2016-3-28 09:55:56
a0a.1 32b0c
static主要定义全局静态变量,定义局部静态变量,定义静态函数
一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:
(1) 在全局数据区内分配内存
(2) 如果没有初始化,其默认值为0
(3) 该变量在本文件内从定义开始到文件结束可见
二、 定义局部静态变量:在局部静态变量前面加上关键字static,该局部变量便成了静态局部变量。静态局部变量有以下特点:
(1) 该变量在全局数据区分配内存
(2) 如果不显示初始化,那么将被隐式初始化为0
(3) 它始终驻留在全局数据区,直到程序运行结束
(4) 其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。
赞
0
评论
回复
支持
反对
zl6043787
回答时间:2016-3-28 08:54:16
a0a.1 32b0c
static主要定义全局静态变量,定义局部静态变量,定义静态函数
一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:
(1) 在全局数据区内分配内存
(2) 如果没有初始化,其默认值为0
(3) 该变量在本文件内从定义开始到文件结束可见
二、 定义局部静态变量:在局部静态变量前面加上关键字static,该局部变量便成了静态局部变量。静态局部变量有以下特点:
(1) 该变量在全局数据区分配内存
(2) 如果不显示初始化,那么将被隐式初始化为0
(3) 它始终驻留在全局数据区,直到程序运行结束
(4) 其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。
赞
0
评论
回复
支持
反对
荣丰宇
回答时间:2016-3-28 11:26:46
a0a.1 32b0c
static关键字至少有下列n个作用:
(1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;
(2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;
(3)限制函数的作用域,在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;
(4)在类中的static成员变量意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见;
(5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。
赞
0
评论
回复
支持
反对
我的颈
回答时间:2016-3-28 08:52:20
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
baiying303
回答时间:2016-3-28 08:54:05
a0a.1 32b0c
1.隐藏
2.存储在静态存储区,具备持久性和默认值为0
赞
0
评论
回复
支持
反对
黄小狼
回答时间:2016-3-28 08:57:03
a0a.1 32b0c
1、限定作用域,以区别于其他文件定义函数与变量,保证可移植性,在文件内部使用
2、函数里的static变量,独占内存一块地址,仅声明一次
赞
0
评论
回复
支持
反对
MouseCat
回答时间:2016-3-28 08:57:05
a0a.1 32b0c
【3.28签到】
赞
0
评论
回复
支持
反对
潇潇雨歇pku
回答时间:2016-3-28 08:58:16
a0a.1 32b0c
签到一发
赞
0
评论
回复
支持
反对
不晓得10
回答时间:2016-3-28 08:59:23
a0a.1 32b0c
签到
赞
0
评论
回复
支持
反对
阿莫西林
回答时间:2016-3-28 09:02:06
a1024a.1 32b0c
签到一发
赞
0
评论
回复
支持
反对
黑夜之狼
回答时间:2016-3-28 09:02:13
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
加拿大
回答时间:2016-3-28 09:02:49
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
chifen
回答时间:2016-3-28 09:04:07
a0a.1 32b0c
签到
赞
0
评论
回复
支持
反对
liping
回答时间:2016-3-28 09:07:30
a0a.1 32b0c
定义静态变量
赞
0
评论
回复
支持
反对
creep
回答时间:2016-3-28 09:08:56
a0a.1 32b0c
赞
0
评论
回复
支持
反对
orima
回答时间:2016-3-28 09:09:08
a0a.1 32b0c
static主要定义全局静态变量,定义局部静态变量,定义静态函数
赞
0
评论
回复
支持
反对
1
2
3
4
5
6
7
/ 7 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:
(1) 在全局数据区内分配内存
(2) 如果没有初始化,其默认值为0
(3) 该变量在本文件内从定义开始到文件结束可见
二、 定义局部静态变量:在局部静态变量前面加上关键字static,该局部变量便成了静态局部变量。静态局部变量有以下特点:
(1) 该变量在全局数据区分配内存
(2) 如果不显示初始化,那么将被隐式初始化为0
(3) 它始终驻留在全局数据区,直到程序运行结束
(4) 其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。
一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:
(1) 在全局数据区内分配内存
(2) 如果没有初始化,其默认值为0
(3) 该变量在本文件内从定义开始到文件结束可见
二、 定义局部静态变量:在局部静态变量前面加上关键字static,该局部变量便成了静态局部变量。静态局部变量有以下特点:
(1) 该变量在全局数据区分配内存
(2) 如果不显示初始化,那么将被隐式初始化为0
(3) 它始终驻留在全局数据区,直到程序运行结束
(4) 其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。
(1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;
(2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;
(3)限制函数的作用域,在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;
(4)在类中的static成员变量意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见;
(5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。
2.存储在静态存储区,具备持久性和默认值为0
2、函数里的static变量,独占内存一块地址,仅声明一次
签到一发