我想定义以下结构和typedef:
typedef struct Atype
{
int A;
struct
{
int VERBOS;
}
IO;
}
Atype;
在main中我可以将变量定义为:
Atype In1,In2;
In1.A=3;
In1.IO.VERBOS=4;
In2.IO=In1.IO;
等
代码编译并运行(c-gcc-clang)但我必须为不同的环境编写代码。我的问题:
1)这些嵌套结构是否没有名称有效c?
2)有效的c ++?
3)IO的范围是什么?
答案 0 :(得分:2)
这是C / C ++中的有效结构,它被称为未命名的结构。这是GCC的一个页面,其中包含对它的引用
IO
的范围与结构
答案 1 :(得分:0)
A
相同的范围。答案 2 :(得分:0)
为避免混淆,为什么不呢?
struct IO {
int VERBOS;
};
typedef struct Atype {
int A;
struct IO;
} Atype;