static关键字的作用

来源:互联网 发布:it到dt是什么意思 编辑:程序博客网 时间:2024/06/10 11:49

static关键字的作用

在C语言中

定义静态全局变量

定义方式:在全局变量前加上关键字static,该变量变为全局经验变量;特点如下:

1、  在全局数据区内分配内存;

2、  如果没有初始化,其默认值为0;

3、  该变量生命周期为定义开始到文件结束;

4、  该变量可被本源文件内所有函数调用;

定义静态局部变量

定义方式:在局部变量前加上关键字static,该变量变为静态局部变量;特点如下:

1、  在全局数据区分配内存;

2、  如果没有初始化,其默认值为0;

3、  他始终驻留在全局数据区,直到程序结束才会被释放;

4、  其作用域为局部作用域,当定义他的函数或者语句块结束时,其作用域随之结束;

定义静态函数

定义方式:在函数的返回类型加上static关键字,函数即被定义成静态函数;特点如下:

1、  静态函数只能在本源文件中使用;

2、  在文件作用域中声明的inline函数默认为static函数;

说明:静态函数只是一个普通的全局函数,但是被static限制了作用域,所以只能在文件所在的编译单位内使用,不能在其他编译单位内使用;

在C++中

静态成员变量

为该类所有实例化的对象所共享,当该类所实例化的某个对象修改了该静态成员变量的值,那么其修改值对该类所实例化的其他对象可见;

静态成员函数

静态成员函数属于整个类所有,这个函数不接受this指针,因此只能访问类的static成员变量;

静态成员函数调用方式:

1、  类名::函数名(函数参数);

2、  类实例化的对象.函数名(函数参数);

小结

1、   设置变量的存储域;

2、   限制变量的作用域;

3、   限制函数的作用域;

0 0
原创粉丝点击