头文件定义,宏定义的问题

沤江一流 2012-12-31 12:40:31
A.C 包含b.h .
b.h 包含c.h
请问。a.c 能使用 c.h 里面定义的宏吗?
...全文
370 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小鸟悠悠 2013-01-02
  • 打赏
  • 举报
回复
可以的。
 那么找到头文件之后,系统会做什么呢?答案是“替换”。比如在编译的时候,系统会把 judge.c 中的 #include "happy.h" 这句代码用 happy.h 的内容替换掉。如下图所示:

这里有详细讲解 http://birduu.com/420.html
  • 打赏
  • 举报
回复
不可以,每一个.h文件,相当于一个子函数,里面的变量是局部变量
ForestDB 2012-12-31
  • 打赏
  • 举报
回复
看预处理后的结果。
疯狂的红豆 2012-12-31
  • 打赏
  • 举报
回复
当然可以了,文件包含也是符合数学上的逻辑包含的,就是具有传递性。 还有想说的好似A.C里面最好只包含一个A.h文件,不要在包含其他的自定义头文件。
追求执着 2012-12-31
  • 打赏
  • 举报
回复
这个肯定能,但是求二楼指点下你的观念,好像第一次听说,求解...
AnYidan 2012-12-31
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
++
银点 2012-12-31
  • 打赏
  • 举报
回复
当然可以。 很简单的例子,看看windows.h就知道了
东大坡居士 2012-12-31
  • 打赏
  • 举报
回复
当然可以,include就是把头文件展开,放到你的源文件中
赵4老师 2012-12-31
  • 打赏
  • 举报
回复
whizer 2012-12-31
  • 打赏
  • 举报
回复
按你的包含关系,完全可以. 但是一般来说,头文件.h最好不要包含其他的头问题.h,因为组织不好的话,有可能由于包含顺序导致编译问题.当然如果组织的好,完全没有问题.内核(linux)中有很多这种写法.

69,379

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧