static

链接:static静态变量的理解 - dzqdevin - 博客园 (cnblogs.com)

C语言中static的用法(修饰局部变量,修饰全局变量,修饰函数)_static在c语言中的用法_ww here的博客-CSDN博客

c语言中static关键字用法详解_static在c语言中的用法_guotianqing的博客-CSDN博客

static的三种用法:

(1)修饰局部变量,静态局部变量

(2)修饰全局变量,静态全局变量

(3)修饰函数,静态函数

 

静态局部变量

(1)静态局部变量在编译时赋初值。即使声明时未赋初值,编译器也会将它初始化为0;编译器一般不会对普通局部变量赋初值,也就是在初始化的时它的值是不确定的。

(2)静态局部变量在函数调用结束后,其占的内存空间不会被释放掉。下次调用时该变量还会保留上次函数调用结束的值,而不是初始化的值。

(3)静态局部变量本质上还是局部变量,所以它的作用域还是在被定义的函数内部。

(4)数据在全局数据区分配内存,所以它存放在RM中的数据段或者BSS段。

 

静态全局变量

(1)全局变量编译器会自动对其初始化,在全局数据区分配存储空间。

(2)作用域是在被定义的.c文件中,其他文件是不可以调用该全局变量的。不具有外部链接属性。所以其他文件可以定义同名的静态局部变量,两者互不影响。

 

静态函数

(1)只能在声明它的文件可见,其他文件不可调用。

(2)不同的文件名可以声明相同名字的静态函数,互不影响。

 

posted @ 2021-06-04 11:09  笙箫涩  阅读(37)  评论(0编辑  收藏  举报