ras*_*hok 4 c struct typedef structure
我只是想知道typedef在使用未声明的结构时如何不抛出任何编译错误.下面的代码正在编译,没有任何警告和错误.我怀疑的是typedef,未申报的结构如何不会引发任何错误.在所有平台上都是一样的
#include <stdio.h>
typedef struct undeclared_struct_st UND_STRUCT_S;
int main()
{
printf("\nhello world\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用gcc 4.3.4在Suse 11中执行这个程序.
typdef struct undeclared_struct_st UND_STRUCT_S;
Run Code Online (Sandbox Code Playgroud)
已验证.它声明struct undeclared_struct_st为一个incompele类型,然后声明UND_STRUCT_S为typedef struct undeclared_struct_st.您不能创建不完整类型的对象,但可以创建指向不完整类型的对象的指针.struct undeclared_struct_st然后可以在另一个翻译单元中声明.
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |