问一个有关结构的命名的问题
大家好,我想问一下C语言中同一个结构中的结构名和结构成员名以及结构变量名可以相同吗??我用vc++6.0和c-free做了一下试验,发现结构名不能和结构成员名相同,但是可以和结构变量名相同,而结构变量可以和结构成员名相同。但是,我在网上看到这样一句话:结构成员、结构标记和普通变量(即非成员)可以采用相同的名字,它们之间不会冲突。 还有一道题目:.若有如下说明,且int类型占两个字节,则正确的叙述为()struct st
{
int a;
int b[2];
}a;
A)结构体变量a与结构体成员a同名,定义是非法的
B)程序只在执行到该结构体时才为结构体st分配存储单元
C)程序运行时为结构体st分配8字节存储单元
D)类型名struct st可以通过extern关键字提前引用
这题答案(A)
这让我头晕了,语法中到底是怎么规定的呢?? 请各位帮帮忙~ 谢谢!