|
|
1
4
这段代码是有效的C,具有相同的语义,从1978年以后的每一个C版本开始,可能更早。它定义了一个名为z的变量,该变量的类型是一个无名称的结构类型,它由两个int组成。 奥法克斯,你得到了什么错误信息来断定它不起作用? (学究式的nit:“ansi c”是指美国国家标准协会ansi标准化的c版本。1989年版的ANSI C标准被国际标准组织ISO采用。1999年,国际标准化组织(ISO)制定了新版本的C标准,随后美国国家标准化组织(ANSI)又采用了该标准。) 编辑:
它定义了一个结构类型,称为“struct a”,由两个int和一个该类型的变量z组成。即使在1978年的C(“K&R”)版本中,这一点仍然很完善。我不知道split是什么,但确切的错误消息仍然可能帮助我们找出问题所在。 |
|
|
2
1
不太确定,但在“旧的”编译器中,我记得必须写为
|
|
|
3
1
您能显示实际的编译器警告、编译器标志和相关的代码行吗?你的例子绝对没有错。或者,也许是一个链接,指向你得出结论的文件? 如果您信任编译器来告诉您区别,那么您使用的编译器/版本是什么? |
|
|
4
1
一个只包含该代码的文件可以通过 Splint 3.1.2 . 你能提供一个简单完整的例子来展示你所描述的行为吗? 快速的一点实验表明splint似乎不支持混合代码和声明,这会让我推迟使用它。所以你发布的代码 独自一人 可以,但这将导致分析错误:
对语法的这种更改将允许它解析上面简单的混合代码和声明,然后 出现 去工作,但我还没有完全测试过。
|
|
|
wavesinaroom · 断言结构向量长度 1 年前 |
|
fghoussen · 在C结构体中,为什么打包、对齐似乎会进行填充? 1 年前 |
|
|
kamkow1 · 匿名结构的初始值设定项错误无效 1 年前 |