- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
根据我的说法,它是零,但似乎有点困惑 here
我已经使用 gcc 编译器对其进行了测试,它的输出为零。我知道在 C++ 中,空类的大小为 1。如果我在这里遗漏任何内容,请告诉我。
最佳答案
C 中的结构不能为空,因为语法不允许。此外,如果结构没有命名成员,则存在使行为未定义的语义约束:
struct-or-union-specifier:
struct-or-union identifieropt { struct-declaration-list }
struct-or-union identifier
struct-or-union:
struct
union
struct-declaration-list:
struct-declaration
struct-declaration-list struct-declaration
struct-declaration:
specifier-qualifier-list struct-declarator-list ;
/* type-specifier or qualifier required here! */
specifier-qualifier-list:
type-specifier specifier-qualifier-listopt
type-qualifier specifier-qualifier-listopt
struct-declarator-list:
struct-declarator
struct-declarator-list , struct-declarator
struct-declarator:
declarator
declaratoropt : constant-expression
如果你写
struct identifier { };
它会给你一条诊断信息,因为你违反了句法规则。如果你写
struct identifier { int : 0; };
然后你有一个没有命名成员的非空结构,从而使行为未定义,并且不需要诊断:
If the struct-declaration-list contains no named members, the behavior is undefined.
请注意,以下内容是不允许的,因为灵活的数组成员不能是第一个成员:
struct identifier { type ident[]; };
关于c - C中空结构的大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1626446/
这个问题已经有答案了: How does a for loop work, specifically for(;;)? (6 个回答) 已关闭 7 年前。 我正在查看 java.util.Random
平台:x32 上的 .NET Framework 3.5 SP1 在代码中留下空语句(“;”本身)是否存在任何性能问题? 要标记为答案,您是否还会教一个人(我?和其他阅读本文的人)钓鱼?意思是,如何确
我找到了有关在选中时更改实际复选标记颜色的说明,但我正在尝试弄清楚如何更改框的颜色。 我把盒子放在较暗的背景上,很难看清,所以我想让它变亮。 我已经尝试了大多数其他元素在 Materialise 中观
在 Java 中,如何生成空/“nil”的实例 java.util.UUID所有 128 位都为零的对象? 00000000-0000-0000-0000-000000000000 Nil UUID
我有一个带有 ListView 和另一个 Activity 的选项卡。那是我的代码: TabHost tabHost = getTabHost(); TabHost.TabSpec spec; I
当我做计算机科学圈第14章的题时,我发现了一些奇怪的事情。 问题说:“定义一个函数 postalValidate(S),它首先检查 S 是否代表有效的邮政编码:首先,删除所有空格;余数必须采用 L#L
clearfix div 中空注释的目的是什么?我假设这是针对某种较旧的浏览器填充程序;不确定你为什么要四处乱放空评论。似乎只有一两个 CSS 规则会更容易维护。 最佳答案 如果网站使用 displa
我在 IE8 中的 z-index 有问题(其他 IS 尚未测试): 以下 JS 创建了一些 html/css: document.write(''); document.write(' '
我是一名优秀的程序员,十分优秀!