目录
九、预处理命令
ANSI C标准规定可以在C源程序中加入一些“预处理命令”(preprocessor directives),以改进程序设计的环境,提高编程效率。
C提供的预处理功能主要有以下3种:
-
宏定义
-
文件包含
-
条件编译
分别用宏定义命令、文件包含命令、条件编译命令来实现。为了与一般C语句相区别,这些命令以符号“#”开头。
9.1宏定义
不带参数的宏定义
用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为
#define 标识符 字符串
这就是我们已经介绍过的定义符号常量,例如:
#define PI 3.2425926
它的作用是在本程序文件中用指定的标识符PI带代替“3.1415926”这个字符串,在编译预处理时,将程序中在该命令以后出现的所有PI都用"3.1415926"代替。这种方法能以一个简单的名字代替一个长的字符串,因此把这个标识符(名字)称为“宏名”,在预编译时将宏名替换成字符串的过程称为“宏展开”。#define是宏定义命令。
使用不带参数的宏定义。
#include<stdio.h>
#define PI 3.1415926
int main()
{
float l,s,r,v;
printf("input radius:");
scanf("%f",&r) ;
l = 2.0*PI*r;
s = PI*r*r;