c中的局部结构

前端之家收集整理的这篇文章主要介绍了c中的局部结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果一个结构只用在一个函数中,我可以在该函数中声明它吗?我可以这样做:
int func()
{
    struct {
        int a,b;
    } s;

    s.a=5;

    return s.a;
}

gcc窒息了,但它发出了一个非常奇怪的错误,我无法理解,而不是说“对不起,你不能这样做”.

解决方法

这是完全有效的C89 / C99 / C11代码,这是一个没有标签的结构,对象具有块范围.检查C99 6.7.2.3p6以查看标签的标识符是可选的.

猜你在找的C&C++相关文章