#define 宏定义空值 对程序有多大影响

wochye 2014-10-23 04:28:20
CODE:
#define stdio //替换为空值
#include “stdio.h”
那这样“stdio.h”==》“.h”?

还能正确包含“stdio.h”头文件吗?

实测没影响,但想究其原因,望大咖给看开!!!!
...全文
1049 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wochye 2014-10-24
  • 打赏
  • 举报
回复
很感谢大家给予及时回复
勤奋的小游侠 2014-10-24
  • 打赏
  • 举报
回复 1
宏不能定义宏。 就像 #define define 将define定义为空 你觉得它下面的所有define 是不是就是空了呢? 这是鸡生蛋,蛋生鸡的问题
ForestDB 2014-10-24
  • 打赏
  • 举报
回复 1
简单的讲,就是编译预处理,宏替换的问题,对于""中出现的宏名不做替换。 仅此而已,详细内容就去看预处理的细节。
赵4老师 2014-10-23
  • 打赏
  • 举报
回复
#define和#include都是预处理命令,两者是并列关系,不存在相互调用关系。我猜。
wochye 2014-10-23
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
研究一下gcc源代码中处理#define和#include相关部分。
呵呵,不是我不求甚解。我非计算机专业,只是在自己的编程中发现了这个问题,只想做个简单的了解。望大师给指点一下即可。简明扼要
wochye 2014-10-23
  • 打赏
  • 举报
回复
引用 1 楼 ForestDB 的回复:
你试试 # include <stdio.h> 已知""内的内容不做宏替换。
没有什么影响,哪儿有讲这方面理论的吗?我在书上和网上都没找到
赵4老师 2014-10-23
  • 打赏
  • 举报
回复
研究一下gcc源代码中处理#define和#include相关部分。
wochye 2014-10-23
  • 打赏
  • 举报
回复
没有什么影响,哪儿有讲这方面理论的吗?我在书上和网上都没找到
ForestDB 2014-10-23
  • 打赏
  • 举报
回复
你试试 # include <stdio.h> 已知""内的内容不做宏替换。

69,379

社区成员

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

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