我很难理解此代码。
struct foo myfoo; // --> Is it forward declaration or object creation. ?
struct foo
{
int a;
};
int main()
{
return 0;
}
在代码中标记为箭头-->
它是前向声明还是对象创建。 ?
如果是向前声明又是什么struct foo;
叫什么?如果它是对象创建或实例化,那么它如何在struct定义之前创建对象。
在gcc
编译它工作正常,但其他的编译器会发出错误。
gcc -Werror -Wall tst.c -o tst
对此行为的任何建议或解释gcc
?我无法找到任何记录。
我没有得到一个机会,看看C99的标准,所以我仍然不知道,如果是在某处指定+1。 – iabdalkader
@melpomene:我同意 – Omkant
@melpomene,或者一个功能?看起来好像理解结构是在稍后的同一个文件中定义的。 – Shahbaz