天天看点

C语言/C++的static用法,修饰变量、函数。关键词:静态局部变量、静态全局变量、静态函数、内部函数

static在C语言/C++用于修饰变量 或 修饰函数

一、static修饰变量

被static修饰的 局部变量 或 全局变量 称为 静态局部变量 或 静态全局变量

属于静态存储类别,在静态存储区内分配内存单元,在整个程序运行期间都不释放。

静态局部变量时在编译时被赋值的,即自始至终只赋值一次,在程序运行时它已经有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。

静态全局变量的作用:

1.使得其作用域仅限于变量被定义的文件中(即从变量定义处到本文件结尾处),其它文件不论通过什么方式都不能访问,团队开发贡献代码时非常有用,可以避免和他人的变量重名。

静态局部变量的作用:

1.在某个函数体里面定义的静态局部变量,只能在本函数体被访问,即使同一个文件的其它函数也访问不了。

2.静态局部变量总存储在静态数据区,所以即使这个函数运行结束,这个静态局部变量的值不会被销毁,函数下次使用时仍然要用到这个值。

C语言/C++的static用法,修饰变量、函数。关键词:静态局部变量、静态全局变量、静态函数、内部函数

二、static修饰函数

在函数前加static,则此函数成为静态函数(内部函数)

静态函数的作用:和静态全局变量作用一致,禁止其它文件访问,同样团队开发时常用。

继续阅读