static关键字的作用

    xiaoxiao2021-03-25  70

    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、   限制函数的作用域;

    转载请注明原文地址: https://ju.6miu.com/read-32734.html

    最新回复(0)