静态局部变量的初始化是在编译阶段完成的,即在程序运行前已经初始化完成了。在程序运行时它已有初值。以后每次调用函数时,不再重新初始化而是直接使用上次函数调用结束时保存下来的值。
举一反三
- 对于静态局部变量的适应条件,说法正确的是: A: 如果程序中希望保留函数上次调用结束时的值,使用静态局部变量比较合适。 B: 如果初始化后,变量只被引用而不必改变值的大小,使用静态局部变量可以避免每次调用时重新赋值。 C: 函数中的数组要初始化时必须使用静态局部变量。
- 每次调用函数时,都要对静态局部变量重新进行初始化。
- 通常,函数中定义局部变量在函数作用域结束时消失。再次调用此函数时,会重新创建变量的存储空间,其值会被重新初始化。如想使局部变量的值在程序的整个生命期里仍然存在,可以定义函数的局部变量为静态变量(使用关键字static),并给它一个初始化。初始化只在函数第一次调用时执行,函数调用之间变量的值保持不变。这就是所谓的静态局部变量,具有局部作用域,只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对所有的函数都是可见的,而静态局部变量只在定义自己的函数体内始终可见。
- 每次调用函数时,都要对函数内部的静态局部变量重新进行初始化。
- 关于静态变量,下列说法错误的是: A: 静态局部变量的值具有可继承性。 B: 局部静态变量是在编译时赋初值的,即只赋初值一次。 C: 静态局部变量的值只能在本函数(或分程序)中使用。 D: 静态变量的初始化是在编译时进行的。 E: 静态变量存储空间在程序执行完就释放掉了。