首页 >后端开发 >C++ >灵活数组成员在 C 中有效吗?

灵活数组成员在 C 中有效吗?

Patricia Arquette
Patricia Arquette原创
2024-12-06 09:13:09484浏览

Are Flexible Array Members Valid in C  ?

C 中的灵活数组成员

在 C99 中,灵活数组成员可用于将未知大小的数组声明为结构的一部分。然而,这个特性在 C 中的有效性一直是一个令人困惑的话题。

C 中的有效性

C 于 1998 年标准化,早于灵活数组成员的引入在C99中。因此,C 中不支持灵活数组成员。

正确声明

尽管有误解,'[0]' 是灵活数组成员的有效声明C.此语法表示数组的大小未指定,必须由用户在运行时设置。

示例

在 C 中,以下代码将编译并执行无错误:

struct Blah {
    int foo[0];
};

相反,没有大小的语法 '[]' 在 C 中是无效的。尝试使用此语法声明灵活的数组成员将导致编译器错误。

以上是灵活数组成员在 C 中有效吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn