c - 结构中的结构 - 有效的 c? - 有效的 C++? - 范围?

标签 c struct

我想定义以下结构和类型定义:

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) 这些没有名称的嵌套结构是否有效?

2) 有效的 c++?

3)IO的作用域是什么?

最佳答案

这是 C/C++ 中的有效结构,称为未命名结构。这是 GCC 的一个页面,其中包含对它的引用

http://gcc.gnu.org/onlinedocs/gcc/Unnamed-Fields.html

IO 的范围与结构中的任何其他字段没有区别

关于c - 结构中的结构 - 有效的 c? - 有效的 C++? - 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20922594/

相关文章:

c - 数组长度计数异常

c - 客户端和服务器之间的 OpenSSL 通信

pointers - Goland 调试器的问题

swift - 为什么我的结构在方法链中变得不可变?

c - 如何正确动态分配内存?

c++ - 如何将元素从 std::list 复制到结构数组?

c - 一个程序如何知道bss段所在的位置

c - 在 C 中,指针值更改后内存值会发生什么情况?

go - 使用值创建结构实例

c - 是否有一个自动工具可以从大型 C 代码库中重构/删除一些条件?