如题所述
全局变量是一个运行时刻实体,它在程序的整个执行过程中都存在。全局变量占据的存储区域的使命周期从程序开始在程序终止时结束。 全局变量显示初始化时,或者未初始化时,在程序映像中有不同的分区:已初始化的全局变量是可执行模块的一部分。未初始化的全局变量则不是可执行模块的一部分,只有当定义它们的程序被调用时(即执行时),才分配空间,声明或定义时并不分配。未初始化的全局变量在运行时被初始化为0。
局部变量也叫自动变量,它声明在函数快内,作用范围也在函数快内,不能同一源文件的其它函数使用,也不能其他文件中的函数使用,局部变量存储在栈中。无论局部变量显示初始化,或者未初始化,都只有当定义它们的程序快被调用时(及执行时),才分配空间,声明或定义时并不分配,局部变量不是可执行每模块的一部分!!除非显示地局部变量进行初始化,否则,它们的初始值是不确定的。
全局变量没有声明在任何一个函数内,作用范围在程序运行始终存在,能被同一原文件的任何函数使用,
也能被其他文件中的函数使用,但是使用extern关键字。方法执行完后,随之销毁结束。
局部变量也叫自动变量,它声明在函数快内,作用范围也在函数快内,不能同一源文件的其它函数使用,也不能其他文件中的函数使用,局部变量存储在栈中。无论局部变量显示初始化,或者未初始化,都只有当定义它们的程序快被调用时(及执行时),才分配空间,声明或定义时并不分配,局部变量不是可执行每模块的一部分!!除非显示地局部变量进行初始化,否则,它们的初始值是不确定的。
全局变量没有声明在任何一个函数内,作用范围在程序运行始终存在,能被同一原文件的任何函数使用,
也能被其他文件中的函数使用,但是使用extern关键字。方法执行完后,随之销毁结束。
温馨提示:答案为网友推荐,仅供参考