c++ static关键字的作用
2024-10-18 02:55:16
1、被申明的函数或值无法被其他源文件使用
2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期)
存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的。虽然这种用法不常见
PS:如果作为static局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
#include <stdio.h> int fun(){
static int count = ; //在第一次进入这个函数的时候,变量a被初始化为10!并接着自减1,以后每次进入该函数,a
return count--; //就不会被再次初始化了,仅进行自减1的操作;在static发明前,要达到同样的功能,则只能使用全局变量: } int count = ; int main(void)
{
printf("global\t\tlocal static\n");
for(; count <= ; ++count)
printf("%d\t\t%d\n", count, fun());//局部变量statuc申明的变量和全局的不是同一个变量
return ;
}
3.static的第三个作用是默认初始化为0(static变量)
最新文章
- Spring源码分析——BeanFactory体系之接口详细分析
- Angular JS 学习之Bootstrap
- Hdu 5493 合肥网络赛 1010 Queue
- oracle 异常
- 树莓派安装RASPBIAN系统
- 软引用SoftReference异步加载图片
- sql server 脚本创建数据库邮件
- BZOJ 1861 书架
- 在MVC中利用uploadify插件实现上传文件的功能
- JSP中的Attribute和InitParameter
- Android ListView 删除动画
- DB2 VC++ 中连接字符串
- Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表
- Angular开发实践(六):服务端渲染
- mint-ui笔记
- 【Linux】文件IO --- sync、fsync、fdatesync
- 在SoapUI中模拟用户操作
- toString() 和 强制类型转换 (String)
- 协程,greenlet,gevent
- 2.8 C++参数初始化表