原以为这样应该会报错, 因为头文件中的 "struct Context" 应该是找不到的, 但amazing, 竟然能顺利编译过, 由此让我加深了对声明和定义的理解. 就像函数在头文件中声明, 而在源文件中定义一样, 因为函数的声明和定义一般都分开写, 所以习以为常, 但结构体一般都是声明和定义一起的, 或者说只有定义吧, 所以...
结构体的声明与定义分离 最近看到⼀种⽐较新颖的写法 —— 结构体在头⽂件中声明, 源⽂件中定义 A.h typedef struct Context Context;A.cpp #include "stdafx.h"#include "A.h"struct Context { int param;char *str;};原以为这样应该会报错, 因为头⽂件中的 "struct Context" 应该是找不到的,...
如果你用-c或-S选项单独编译main.c,你觉得编译器到哪里知道struct Node包含哪些成员?
原以为这样应该会报错, 因为头文件中的 "struct Context" 应该是找不到的, 但amazing, 竟然能顺利编译过, 由此让我加深了对声明和定义的理解. 就像函数在头文件中声明, 而在源文件中定义一样, 因为函数的声明和定义一般都分开写, 所以习以为常, 但结构体一般都是声明和定义一起的, 或者说只有定义吧, 所以...
思考一下 如果你用-c或-S选项单独编译main.c,你觉得编译器到哪里知道struct Node包含哪些成员?