【摘要】:在一个函数内部或复合语句内定义的变量称为局部变量,在函数外部定义的变量称为全局变量。用作函数形参的变量也只能被当前函数内部使用,因此不同函数的局部变量可以同名。图6-9例6-9的运行结果程序运行时,一开始编译系统并不给局部变量分配内存空间,只有调用局部变量所在的函数时,才临时分配内存空间,调用结束后立即释放空间。可见,当变量名相同时,最小范围内的局部变量优先权最高。
变量定义的位置决定了其作用域。在一个函数内部或复合语句内定义的变量称为局部变量,在函数外部定义的变量称为全局变量。
1.局部变量
局部变量的作用域仅限于函数内或复合语句内,在函数或复合语句以外是不能使用这些变量的。用作函数形参的变量也只能被当前函数内部使用,因此不同函数的局部变量可以同名。
【例6-9】分析程序的运行结果。
程序运行结果如图6-9所示。
图6-9 例6-9的运行结果
【说明】程序运行时,一开始编译系统并不给局部变量分配内存空间,只有调用局部变量所在的函数时,才临时分配内存空间,调用结束后立即释放空间。上述代码中,main()函数的声明语句部分和复合语句中都定义了变量a,各自有不同的内存空间,互不影响。当执行复合语句内的printf语句时,输出的是复合语句内局部变量a的值,复合语句外的变量a被屏蔽;当退出复合语句时,其内部的变量a被释放,输出外部的变量a的值。可见,当变量名相同时,最小范围内的局部变量优先权最高。
2.全局变量
全局变量的定义位置可以是当前程序文件的任何位置,其作用域从定义位置开始一直到程序运行结束,它不属于某个函数,可以被当前程序文件的所有函数共用。在程序运行时就被分配存储空间,只有程序退出时才释放空间。(www.xing528.com)
【例6-10】通过全局变量求长方体的体积以及正、侧、底3个面的面积。
例6-10 运行视频
程序运行结果如图6-10所示。
图6-10 例6-10的运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。