普通的变量是在编译时还是在运行分配内存单元的?
谭浩强《C程序设计》第二版中有以下文字描述,我觉得近似乎矛盾了,普通变量的存储单元是什么时候分配的?全局变量的情况又是怎么样的呢? pg40 “第一个变量被指定为一确定的类型,在编译时就能为其分配相应的存储单元。”
pg201 “如果在程序中定义了一个变量 ,在编译周日就给这个变量分配内存单元。”
pg173 “函数中的局部变量,如不专门声明为static类型存储类别,都是动态分配存储空间的,数据存储在动态存储区中。函数中的形参和函数中定义的变量,都属此类,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空间。”