求大神, 关于C语言的问题

#include是将包含文件内容展开到cpp文件中, 那假如我写一个头文件,里面写#include 那么我写多个.h文件形成多重包含的结构,就是.h套.h套.h, 那么每一个头文件里面假如编译是不是就将所有的.h文件一层一层展开再拷贝到.h文件里。

这样是不是重复定义了好多个毫无意义的副本

另外, 大神有没有经典的数据结构源码推荐下, 简洁易懂的, 子函数只用返回值判断真假,不写printf()的

c

3个回答

 是的,因此我们一般用 #ifndef/#define/#endif避免重复包含
qq_37296877
qq_37296877 那是不是只要写了这几句预处理, 你在头文件随便写, 即使你都写上iostream编译时也只产生一份iostream代码对吗,还有大神推荐点数据结构的经典代码,谢了
接近 3 年之前 回复

#ifndef xxxx

#define xxxx
...
#endif
一般头文件会用这种方式防止重复引用

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问