2019-12-11 18:31发布
lcw_swust 发表于 2018-5-21 14:52 我也觉得奇怪,随便试了下居然编译通过,但是结构体本身并未定义。
takashiki 发表于 2018-5-21 15:11 哦,原来你们说的是这个啊。这个是C语言的不完整类型,只要你不实际用到它,它就不会报错。大致类似于这 ...
最多设置5个标签!
哦,原来你们说的是这个啊。这个是C语言的不完整类型,只要你不实际用到它,它就不会报错。大致类似于这样:
extern int var; // 声明变量,这个var变量在任何地方都没有定义过
只要你不实际操作这个类型(分配空间)是不会报错的。你说可以定义指针变量?大概也对应于这样,一样不会出错:
int sz = sizeof(var);
或者简单的说,你直接声明
struct A;
再编译,同样是不会报错的。只是类型struct A是不完整的类型,无法用来定义变量。typedef只是取个别名,没有其他含义。
试试引用一下。
没有使用到的东西,有可能编译器根本就没有去管他
这样啊,
看来,楼主需要把有疑问的代码注释掉试试看
一周热门 更多>