我使用了一些这样的代码:
void A()
{
typedef struct B B;
struct B
{
};
B b;
};
typedef
and struct
函数内部的定义。它是用 Clang 编译的,但我想知道 (1) 它们是否是标准的一部分。以及关于(2)它们是否仅限于在功能范围内被识别。
是的,标准允许这样做,并且是的,您以这种方式创建的名称仅在函数内部可见(即,它具有本地范围,就像您定义时一样int i;
, i
具有本地范围)。
这是更常见的,但是这样做是这样的:
typedef struct {
/* ... */
} B;
B b;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)