我使用了一些这样的代码:
void A()
{
typedef struct B B;
struct B
{
};
B b;
};
函数内部的
typedef
和struct
定义。它用Clang编译,但是我想知道(1)它们是否是标准的一部分。关于(2)是否仅限于在功能范围内进行识别。 最佳答案
是的,标准允许这样做,是的,以这种方式创建的名称仅在函数内部可见(即,它具有局部范围,就像定义int i;
时一样,i
具有局部范围)。
更常见的是,执行以下操作:
typedef struct {
/* ... */
} B;
B b;
关于c - `typedef`和 `struct`是否在C中的函数标准内?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5590757/