• 2022-06-05
    通常,函数中定义局部变量在函数作用域结束时消失。再次调用此函数时,会重新创建变量的存储空间,其值会被重新初始化。如想使局部变量的值在程序的整个生命期里仍然存在,可以定义函数的局部变量为静态变量(使用关键字static),并给它一个初始化。初始化只在函数第一次调用时执行,函数调用之间变量的值保持不变。这就是所谓的静态局部变量,具有局部作用域,只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对所有的函数都是可见的,而静态局部变量只在定义自己的函数体内始终可见。
  • 举一反三

    内容

    • 0

      定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。

    • 1

      一个函数中定义的变量是(  ) A: 局部变量 B: 全局变量 C: 静态变量 D: 函数变量

    • 2

      以下说法中,错误的是______。 A: 全局变量一定是静态变量 B: 形式参数一定是自动变量 C: 局部变量一定安排在栈中 D: 在函数内部定义的变量一定是局部变量 E: static变量可以是局部变量也可以是全局变量 F: 尽管main是主函数,也不能直接访问它要调用的函数内部的局部变量

    • 3

      所有在函数中定义的变量,都是() A:  全局变量 B:  局部变量 C:  静态变量 D:  寄存器变量

    • 4

      关于变量作用域说法错误的是()。 A: 函数内部定义的变量不一定是局部变量 B: static变量可以在函数外部声明 C: 在函数内部使用全局变量需要使用global关键字声明 D: 函数外部定义的变量一定是全局变量