文章目录
一、请列出static关键字有哪些作用??
C语言有两种:修饰全局变量(函数)和修饰局部变量。
C++还有两种:修饰成员变量和成员函数。
二、在C语言中,static关键字的作用有哪些?
a)在一个函数前加上static关键字修饰之后,这个函数将禁止被跨文件访问,只限于在当前源文件中使用;
b)在一个全局变量的定义前加上 static修饰之后,这个全局变量也将被禁止跨文件访问,只限于在当前源文件中使用;
c)如果一个全局变量或函数不加static修饰时,在整个软件工程中只能有一份同名的全局变量或函数,否则在编译时将出现连接错误;
d)如果一个全局变量或函数加了static修饰之后,每一个源文件中都可以有一份同名的全局变量或函数,而编译时不会出现(同名冲突的)连接错误;
e)如果在一个函数内的局部变量前加上static修饰之后,这个变量已经不是纯粹的局部变量了。编译之后它与全局变量处于同一空间内,这个函数内的静态变量的生命期与全局变量相同,变量在程序进入main函数之