没有合适的资源?快使用搜索试试~ 我知道了~
C语言预处理、结构体和make的使用--C语言预处理命令
需积分: 9 3 下载量 146 浏览量
2011-07-26
16:40:30
上传
评论
收藏 6KB TXT 举报
温馨提示
试读
5页
C语言预处理、结构体和make的使用--C语言预处理命令
资源推荐
资源详情
资源评论
在C语言程序中加入一些编译预处理命令可以提高编程效率,回忆编译速度。预处理命令是在编译源程序前先对源程序进行处理,例如,在程序中使用“#define MAX 256“这条命令定义一个符号常量MAX,则在预处理时将程序中出现的所有MAX替换为256。预处理完成后,编译器(如gcc)开始编译源程序以生成可执行代码。需要注意的是,预处理命令并不是C语言的一部分,因此每条编译预处理命令不需要以分号来结束。
一、宏定义
C语言标准允许在程序中用一个标识符来表示一个字符串,称为宏。标识符称为宏名。在编译预处理时,将程序中所有的宏名用相应的字符串来替换,这个过程称为宏替换。宏分为两种:无参数的宏和有参数的宏。
1、无参数宏
无参数宏定义的一般形式为:
#define 标识符 字符串
“#”代表本行是编译预处理命令。define是宏定义的关键词,标识符是宏名。字符串是宏名所代替的内容,可以是常数、表达式等。
注意:宏定义和其他编译预处理命令不是以分号结尾的。
例5-1 下面是一个使用无参数宏的程序
#include <stdio.h>
#define PI 3.1415926
int main()
{
int r = 100;
double length = 2*PI*r;
printf("The circumference is %f\n",length);
return 0;
}
程序说明:(1)本程序使用PI来代表3.1415926。宏替换是在程序中用相应的字符串来替换害名,编译器预处理程序对它不作任何检查。如果有错误,只能在编译程序时才会被编译器发现。(2)习惯上,宏名都用大写字母。当然也可以用小写字母。(3)使用宏代替一个字符串,可以减少程序中重复书写某些字符串的工作量。可以用一个有意义的宏句来代表无规律的字符串,提高程序的可读性,同时修改起来也方便。如果要把程序 中的PI值改为3.14,则只要修改#define这一行即可。如果没有使用宏,那么就要查找程序并修改所有的PI值。(4)宏的作用范围是从宏定义开始到本源程序文件结束为止。也可以使用#undef来提前终止作用范围。例如:
#define MAX 256
int main()
{
...
}
#undef MAX
int f()
{
...
}
一、宏定义
C语言标准允许在程序中用一个标识符来表示一个字符串,称为宏。标识符称为宏名。在编译预处理时,将程序中所有的宏名用相应的字符串来替换,这个过程称为宏替换。宏分为两种:无参数的宏和有参数的宏。
1、无参数宏
无参数宏定义的一般形式为:
#define 标识符 字符串
“#”代表本行是编译预处理命令。define是宏定义的关键词,标识符是宏名。字符串是宏名所代替的内容,可以是常数、表达式等。
注意:宏定义和其他编译预处理命令不是以分号结尾的。
例5-1 下面是一个使用无参数宏的程序
#include <stdio.h>
#define PI 3.1415926
int main()
{
int r = 100;
double length = 2*PI*r;
printf("The circumference is %f\n",length);
return 0;
}
程序说明:(1)本程序使用PI来代表3.1415926。宏替换是在程序中用相应的字符串来替换害名,编译器预处理程序对它不作任何检查。如果有错误,只能在编译程序时才会被编译器发现。(2)习惯上,宏名都用大写字母。当然也可以用小写字母。(3)使用宏代替一个字符串,可以减少程序中重复书写某些字符串的工作量。可以用一个有意义的宏句来代表无规律的字符串,提高程序的可读性,同时修改起来也方便。如果要把程序 中的PI值改为3.14,则只要修改#define这一行即可。如果没有使用宏,那么就要查找程序并修改所有的PI值。(4)宏的作用范围是从宏定义开始到本源程序文件结束为止。也可以使用#undef来提前终止作用范围。例如:
#define MAX 256
int main()
{
...
}
#undef MAX
int f()
{
...
}
资源评论
爱死寂寞人
- 粉丝: 82
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python语言教程1-python批量图片重命名,将后缀某几个不想要的字去除
- Space Combat Kit 太空战斗套件Unity游戏开发插件资源unitypackage C#
- Universal Device Preview 通用设备预览Unity游戏开发插件资源unitypackage
- Paladin Anim Set 圣骑士动画集Unity游戏动作动画插件资源unitypackage
- 计算机财务管理期末考报表部分题目及答案.doc
- 计算机软件维护论文.doc
- 计算机软件著作权授权书.docx
- 计算机键盘教学案例.doc
- 计算流体力学软件平台方案.pptx
- 计量自动化系统介绍.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功