从今天开始,每天整理一个专题的面试题汇总,以便后面求职使用。
关键字是组成用语言的最基本单位,对于关键字的理解,有助于编写高质量的代码。
1.1 static(静态)变量有什么作用?
在C语言中,其3个明显的作用:
- 在函数体内,静态变量具有“记忆”功能,即一个被声明为静态的变量在这一函数被调用的过程中其值维持不变。
- 在模块内(但在函数体外),它的作用域范围是有限制的,即如果一个变量被声明为静态,那么该变量可以被模块内所有函数访问,但是不能被模块外其他函数访问。它是一个本地的全局变量,如果一个函数被声明为静态的,那么该函数与普通函数的作用域不同,其作用域仅在本文件中,它只可被这一模块的其他函数调用,不能被模块外的其他函数调用,也就是说,这个函数被限制在声明它的模块的本地范围内使用。
- 内部函数应该在当前源文件中说明和定义,对于可在当前源文件以外使用的函数,应该在一个头文件中说明,使用这些函数的源文件要包含这个头文件。
总结:
static全局变量和普通全局变量区别在于static全局变量只初始化一次,可以防止在其他文件中被引用。
static局部变量和普通局部变量的区别在于static局部变量只被初始化一次,下一次运算依据的是上一次的结果值。
static&#x