③ 符号的存储类别 大多数语言对变量的存储类别定义采用二种方式。一种是用关键字指定。例如在Fortran中用COMMON来定义公共存储区变量,用SAVE来定义函数或过程的内部静态存储变量。又例如在C语言中用Static定义是属于文件的静态存储变量或属于函数内部的静态存储变量,用regist定义使用寄存器存储的变量。另一种方式是根据定义变量说明在程序中的位置来决定。例如在C语言中,在函数体外缺省存储类关键字所定义的变量是外部变量,即程序的公共存储变量,而在函数体内缺省存储类关键字所定义的变量是内部变量,即属于该函数所独有的私有存储变量(通常是动态分配的存储变量,详细情况参阅存储空间的组织管理)。符号表中设置一个符号存储类别域,存放该符号的存储类别。区别符号存储类型的属性是编译过程语义处理、检查和存储分配的重要依据。符号的存储类别还决定了符号变量的作用域、可视性和它的生命周期等问题,下面将涉及到这些问题。