C语言宏的学习: - henry19850318的专栏 - CSDN博客
来源:百度文库 编辑:神马文学网 时间:2024/04/29 11:14:27
一:1.预处理命令的作用: 改进程序设计环境,提高编程效率。2.预处理命令不是C语言的组成部分,不能对它们进行编译(应为编译程序不能识别它们),必须在对程序进行通常的编译(包括词法和语法分析,代码生成,优化等)之前,先对这些特殊的命令(预处理命令)进行预处理,,即根据预处理命令对程序作相应的处理。二:宏定义有2种1.不带参数的宏定义2.带参数的宏定义不带参数的宏的定义:1)形式:#define 标识符 字符串2)说明:1:宏名一般习惯用大写字母,以便与变量名区别2: 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量3: 宏定义是用宏名代替一个字符串,也就是作简单的置换,不作正确性检查4: 宏定义不是C语句,不必在行末加分号5:#define命令出现在程序中函数的外面,宏名的有效范围为定义命令子后到本源文件结束。通常,#define命令在文件的开头,函数之前,作为文件的一部分,在次文件范围内有效。6:可以用#undef命令终止宏定义的作用域7:在进行宏定义时,可以引用以定义的宏名,可以层层置换8:对程序中用双撇号括起来的字符串内的字符,即使宏名相同,也不进行置换9:宏定义时专门用于预处理命令的一个专用名词,它与定义的变量的含义不同,只作字符替换,不分配内存空间。带参数的宏定义:不是简单的进行字符串替换,还要进行参数替换1)形式:#define 宏名(参数) 字符串2)说明:1:对带参数的宏的展开只是将语句中的宏名后面括号内的实参字符串代替#define命令行中的形参2:在宏定义时,在宏名与带参数的括弧之间不应加空格,否则将空壳以后的字符都将作为替代字符串的一部分 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/henry19850318/archive/2009/02/11/3878923.aspx
C语言宏的学习: - henry19850318的专栏 - CSDN博客
C语言宏的学习: - henry19850318的专栏 - CSDN博客
C语言字符串函数大全 - amossavez的专栏 - CSDN博客
异常处理 - [C++] - guomei的专栏 - CSDN博客
C Recommend Book List - ehui928的专栏 - CSDN博客
javacard mask.c 文件结构 - tccth4091的专栏 - CSDN博客
学习的正确心态 - 赵凯的专栏 - CSDN博客
PE学习笔记 - winer632的专栏 - CSDN博客
UDP打洞学习_NAT - sisihu的专栏 - CSDN博客
baozhengw的专栏 - CSDN博客
学习C语言的必备基础知识 - 笔记 - 徐名峰 - CSDN学生大本营 - Powered...
C-Free4.1专业版注册码破解 - xiufeng_wang的专栏 - CSDN博客
keil c编译器错误与解决方法 - babylon_0049的专栏 - CSDN博客
Linux驱动学习记录 devfs_mk_cdev - unbutun的专栏 - CSDN博客 - 追逐梦想的日志 - 网易博客
MFC中的消息映射宏 - magicyang87的专栏 - CSDN博客
AGPS简介 - kv110的专栏 - CSDN博客
OpenMAX简介 - shenbin1430的专栏 - CSDN博客
Android flinger - simmer_ken的专栏 - CSDN博客
windows 命令 - orangeman1982112的专栏 - CSDN博客
JNDI概述 - tanghongru1983的专栏 - CSDN博客
指针 - syhhl007的专栏 - CSDN博客
变量命名 - yszwn的专栏 - CSDN博客
什么是PLL - JasonCao的专栏 - CSDN博客
VC积累 - cherryt的专栏 - CSDN博客