C语言之变量的生存期

问题: 编译器如何区分不同作用域中的同名变量?

    编译器为不同作用域中的同名变量分配了不同的内存地址. 

[注]一个编译后的C程序可以使用的内存存储区主要有三块: 从内存的低地址端开始分别是 只读存储区、静态存储区和动态存储区, 这三块存储区有着不同的特点和用途. 

[注]在编译时, 编译器会为全局变量和静态变量在静态存储区中分配存储空间. 

问题: 什么是变量的存储类型?

    在C语言中, 变量不仅有数据类型, 还有存储类型. 变量的存储类型不同于变量的作用域——变量的作用域决定了变量可以被访问的范围, 而变量的存储类型决定了变量的生存期. 

猜你喜欢

转载自blog.csdn.net/weixin_42048463/article/details/115366109
今日推荐