全局变量,局部变量,静态变量和实例变量的区别

时间:2022-01-13 20:21:31

       全局变量是一个运行时刻实体,他在程序的整个执行过程都存在。全局变量占用的存储时刻的使命周期从程序的开始到结束,全局变量初始化时或者未初始化时,在程序映像中有不同的分区,已初始化的n全局变量是可执行的一部分。未初始化的全局变量是不可初始化的一部分,只有定义他们的程序被调用时(执行),才分配空间,声明或定义时并不分配。未初始化的全局变量在运行时初始化为0。

        局部变量也叫自动变量,他声明在函数块内,作用范围在函数块内,不能同源文件中的其他文件使用,局部变量存储在栈中。无论局部变量使用初始化,或者未初始化,都只有被调用他们的程序块调用时,才分配空间,声明或定义时并不分配。局部变量是不可执行模块的一部分,除非局部变量的值进行初始化,否则他们的初始值是不确定的。

        全局变量没有声明在任何一个函数内,作用范围在程序运行时始终存在,能被同一源文件的任何函数调用,也能被其他文件中的函数调用,但是使用extern关键字。方法执行完后随之也销毁。

        全局变量存储在数据段内。

        静态变量是为了限制全局变量的作用域,又叫内部变量。

相关文章