你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
一、 定义全局静态变量 :在全局变量前面加上关键字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变量,独占内存一块地址,仅声明一次
签到一发