C语言的结构量中结构标志与成员之间也有上述函数与形参之间的相似关系,也可以在符号表中设立一个"结构-成员"指针域。对于结构标志符号,在该属性域中存放指向该结构第一个成员的符号在符号表中的位置的指针,而对于成员符号,在该属性域中存放指向它的下一个成员的符号在符号表中位置的指针。若某个成员是一个结构量的最后一个成员,则该成员符号项中"结构成员"属性域值为空。举例如下:设有一个结构 struct tag1 {… memb1; //第一层结构定义, tag1的第一个成员 … memb2; //tag1的第二个成员 struct tag2{… memb3; //第二层结构定义, //tag2的第一个成员 … memb4; //tag2的第二个成员 … … memb5;}//tag2的第n个成员 memb6; //tag1的第三个成员 … … memb7;} //tag1的第m个成员 stv; //定义的结构变量 它在符号表中如图9.12所示。
|