黑马程序员技术交流社区

标题: iOS开发C语言基础之文件包含疑问 [打印本页]

作者: Lxy    时间: 2014-10-10 00:27
标题: iOS开发C语言基础之文件包含疑问
头文件:wangwu.h

#ifndef WANGWU_H
#define WANGWU_H  
int minus(int a, int b);
#endif

其中#define WANGWU_H ,表示定义了一个空的宏,但是WANGWU_H具体代表什么?



作者: 孙林    时间: 2014-10-10 09:17
#define 宏名  值,一看你就没认真看视频。像你上面的这几行代码,主要是用于多人开发,其中的WANGWU_H,是避免#include的时候重名,所以用你写的.h文件的大写以作区别。其实你随便换成什么也可以。建议你好好看视频。
作者: Lxy    时间: 2014-10-10 10:19
孙林 发表于 2014-10-10 09:17
#define 宏名  值,一看你就没认真看视频。像你上面的这几行代码,主要是用于多人开发,其中的WANGWU_H,是 ...

我知道是避免宏名重复,导致头文件未被编译,我是想问,空宏具体值是多少?{:3_50:}
作者: ifo    时间: 2014-10-10 12:58
我们不在一个班吧,我现在只知道一个头文件#include<stdio.h>
作者: 孙林    时间: 2014-10-10 13:05
Lxy 发表于 2014-10-10 10:19
我知道是避免宏名重复,导致头文件未被编译,我是想问,空宏具体值是多少? ...

so sorry。。。不过你的问题让我产生了歧义。个人理解,看你的宏要替换的值的类型。在这种情况下,宏的具体值我猜是0,你猜呢
作者: Lxy    时间: 2014-10-10 15:07
孙林 发表于 2014-10-10 13:05
so sorry。。。不过你的问题让我产生了歧义。个人理解,看你的宏要替换的值的类型。在这种情况下,宏的具 ...

我用pirntf(“%d\n”,WANGWU_H)输出函数,会报错。
作者: Lxy    时间: 2014-10-10 15:08
ifo 发表于 2014-10-10 12:58
我们不在一个班吧,我现在只知道一个头文件#include

额!!什么跟什么啊!
作者: 米匠    时间: 2014-10-10 15:10
学习了。。。
作者: QQ920924960    时间: 2014-10-10 20:46
表示看不懂,还没学OC
作者: Lxy    时间: 2014-10-10 21:05
QQ920924960 发表于 2014-10-10 20:46
表示看不懂,还没学OC

这就是C语言开发预处理命令中的文件包含,没有涉及到OC
作者: 魔法少年十三    时间: 2014-10-10 21:39
WANGWU_H就是指你的头文件,define对很多字符的支持性都不好,因此显示_下划线
#ifndef WANGWU_H
#define WANGWU_H
这两句的意思是如果没有拷贝wangwu.h文件就引入wangwu.h的内容。用于防止重复导入头文件导致的重复声明。
作者: 邢玉池    时间: 2014-10-11 00:16
我刚看到MJ老师的字符串哈哈,还没看到宏。得赶紧加油了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2