具有声明的匿名C结构

时间:2013-05-23 23:25:36

标签: c struct anonymous anonymous-struct

考虑以下定义:

struct
{
    int x;
    int y;
} point;


void main()
{ 
    ...
}

你是在声明“anonymous struct”类型的变量“point”,有没有办法在struct定义之外声明另一个相同类型的变量(可能在main函数中)?

3 个答案:

答案 0 :(得分:2)

不,没有,至少没有标准C.如果你想使用这个类型,你必须给它一个名字。

答案 1 :(得分:2)

在标准C中?不,你做不到。但是有编译器扩展:

typeof(point) myPoint;
例如,在clang和GCC中,

编辑说明:main()应该返回int

答案 2 :(得分:0)

不太确定你在问什么,也许:

void main()
{ 
    point p;
}

另见http://www.cs.usfca.edu/~wolber/SoftwareDev/C/CStructs.htm