作用域:变量名有效的范围
存在期:变量在程序中存在的时期. 存储方式:auto, register, extern, static 存储空间类型: 栈(stack):自动分配和清除的变量.如:局部变量和函数参数等 堆(heap):由malloc等函数分配的空间. (在c++里这叫自由存储区,而把new得来的空间叫做堆) 全局/静态存储区:存储全局变量和静态变量. 常量存储区:存储常量(常量字符串,magic number等),不允许修改.
它们都分配在全局/静态存储区. 它们初始化时的右值可以是一个初始化表达式(由文字量/符号常量/基本运算符(赋值和自增减运算符例外)组成).若没有初始化语句,会自动置零(包括数组). ----by Bryan.Wong 整理的这些东西说不定还是有疏漏,谁发现了记得告诉我一声.顺便说说一个我在c89和c99标准中没有找到说法的问题(不太会查ansi c标准,汗):c89允许定义static的结构体吗?c99呢? |
|