静态局部变量是在main函数执行之前就开辟空间(并不是在编译阶段),程序结束之后(即main函数结束之后)才释放空间。编译的时候,读到了某个变量为static,一旦开始运行,先给静态局部变量开辟空间
全局变量、静态变量在编译的时候没有分配空间,而是规划好了空间,相当于画好了图纸,在运行时分配空间(在main函数执行之前);局部变量则是在运行的时候分配空间,不存在规划阶段。
关于内存布局与变量存放位置如下图所示
静态局部变量是在main函数执行之前就开辟空间(并不是在编译阶段),程序结束之后(即main函数结束之后)才释放空间。编译的时候,读到了某个变量为static,一旦开始运行,先给静态局部变量开辟空间
全局变量、静态变量在编译的时候没有分配空间,而是规划好了空间,相当于画好了图纸,在运行时分配空间(在main函数执行之前);局部变量则是在运行的时候分配空间,不存在规划阶段。
关于内存布局与变量存放位置如下图所示