黑马程序员技术交流社区
标题: 2014.11.19学习小结之宏定义(没有参数) [打印本页]
作者: 736010695 时间: 2014-11-19 21:07
标题: 2014.11.19学习小结之宏定义(没有参数)
本帖最后由 736010695 于 2014-11-19 23:08 编辑
/*
1、预处理指令:1、宏定义 2、条件编译 3、文件包含
2、什么事预处理指令:把我们编写的代码编译成0跟1之前执行的指令
3、所有的预处理指令都是#开头
4、预处理指令的位置可以随便写,但是有作用域(从编写指令那一行开始到文件结尾)
*/
/*
1、宏定义跟函数一样,可以带参数,也可以不带参数
2、宏定义格式:#define + 宏名 + 值
3、宏名一般都是大写(一般变量名都是小写,为了跟变量名区别开来),如果小写的话前面加上k,
4、假如想要提前结束宏定义,只需在想要结束的那行上面写上 #undef + 宏名*/
#define COUNT 5
//在编译之前把代码中所有的COUNT替换成右边的5
#include <stdio.h>
int main()
{
//双引号里面的COUNT是不会被5替换的
char *name = "COUNT";
//知识回顾:数组的元素个数位置也就是[]里是不可以写变量的,只能是常量
int ages[COUNT] = {1, 2, 3, 4, 5};
for (int i = 0; i < COUNT; i++) {
printf("%d\n",ages);
}
#undef COUNT
//这句的意思是提前结束宏定义,在编译以前这行下面的COUNT就不会在转成5了
/*int a = COUNT;这行点COUNT就是一个未定义的变量
printf("a=%d\n", a);*/
return 0;
}
作者: 诺微_ 时间: 2014-11-19 21:30
第二点宏定义格式是那个吗?#indefine?嘿嘿
作者: 736010695 时间: 2014-11-20 19:46
又出错了,真是:L,一定小心
作者: 诺微_ 时间: 2014-11-20 21:07
嘿嘿 很正常 发布前先运行一遍就好了
作者: 736010695 时间: 2014-11-20 22:15
我写完都会运行的,但是有些东西是在注释里的
作者: 诺微_ 时间: 2014-11-20 22:49
额额 细心点就好了
作者: 736010695 时间: 2014-11-21 07:30
你走到哪个过程了
作者: 诺微_ 时间: 2014-11-21 21:02
我现在自学中 还没有走流程呢 你呢?
作者: qiuguo 时间: 2014-11-21 21:08
踩一下!
作者: 天空总是很蓝 时间: 2014-11-22 01:04
学习了,顶一个
作者: 736010695 时间: 2014-11-22 08:23
跟你一样,其实我的目标是第六期
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |