关键字static在C和C++中的作用
来源:互联网 发布:过河进销存软件 编辑:程序博客网 时间:2024/05/16 08:50
在C语言中,关键字static主要有两个作用,C++对它进行了扩展。
起初,C语言中引入关键字static是 为了表示退出一个块后仍然存在的局部变量,后来引入了一种新的含义,表示不能被其他文件访问的全局变量和函数。
在C++中,static还可以表示属于整个类而不是属于某个特定对象的成员函数和成员变量。
static的作用总结如下:
1.修饰局部变量
2.修饰全局变量和函数
3.修饰成员变量和成员函数
一、static修饰局部变量
局部变量是声明在代码块内部的变量,其作用域为此代码块,存在栈中;加static修饰后作用域不变,但是存在静态区,即使此代码块运行结束,这个静态变量的值还是不会被销毁,代码块下次使用时还能用到这个值。
二、static修饰全局变量和函数
全局变量是声明在代码块之外的变量,其作用域为整个程序,存在静态区;
加static修饰后作用域变为在此变量被定义的文件中,从定义之处开始,到文件结尾处结束,存储位置不变。
函数加static修饰后,变为静态函数,使得函数的作用域仅限于本文件。
三、static修饰成员变量和成员函数
在类中,成员函数和成员变量加上static修饰后,表示其属于整个类而不是属于某个特定对象。成员函数没有了this指针,成员变量被所有类的对象共享,都可以通过类名和域运算符访问,例如int A::_a =0; A::GetValue();
ps:
静态区(全局区)
未初始化的全局变量和静态变量存在bss段;
初始化的全局变量和静态变量存在data段。
0 0
- 关键字static在C和C++中的作用
- Static 关键字在 C 语言中的作用
- 浅谈static关键字在C/C++中的作用
- static关键字在C/C++中的作用(详解)
- 简述static关键字在c/c++中的作用
- static在C中的作用?
- static在C中的作用
- C语言中的static关键字的作用
- C/C++中的static关键字的作用
- 关键字static在C和C++中的区别
- static关键字在C和C++中的使用方法
- 关于extern和static在C/C++中的作用
- C-051.static和extern在局部变量中的作用
- static关键字在c语言中的应用
- C 中的static关键字
- const static在c c++中的作用
- static在c语言中的作用
- static 在C语言中的作用
- Git 工具常识
- Fiddler 课程 笔记
- 【自省】表面垃圾还是心里垃圾
- request.setattribute详解
- OpenWrt
- 关键字static在C和C++中的作用
- Java JDK装配置
- Codeforces Round #377 (Div. 2) D 二分
- Writing A Structural Directive in Angular 2
- word文档转换成swf格式文件在网页中用flash显示
- GPIB编程方法
- php 数组索引值重新从0开始递增方法
- 一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
- AndroidStudio 全局查找最简单的方法