概述
- 宏常量也称为符号常量,是指用一个标识符号来表示的常量,这时该标识符号和此常量是等价的。宏常量是由宏定义编译预处理命令来定义的。其一般形式为:
#define 标识符 字符串
注:其作用是用#define编译预处理指令定义一个标识符和一个字符串,凡在源程序中发现该标识符时,都用其后指定的字符串来替换。
- 使用宏常量或const常量代替程序中多次出现的常数可以提高程序的可读性和可维护性,同时也是保持良好的程序设计风格而不可或缺的一部分。如下列代码:
#include <stdio.h>
#define PI 3.14159 //定义宏常量PI
int main()
{
double r;
printf("Input r:");
scanf("%lf", &r);
printf("circumference = %fn", 2*PI*r); //编译时PI被替换为3.14159
printf("area = %fn", PI*r*r); //编译时PI被替换为3.14159
return 0;
}
-
宏定义中的标识符被称为宏名。为了与源程序中的变量有所区别,习惯上用字母全部大写的单词来命名宏常量。将源程序中出现的宏名替换成字符串的过程称为宏替换。宏替换是不做任何语法检查的,因此只有在对已被宏展开后的源程序进行编译时才会发现语法的错误。
-
因为宏常量是没有数据类型的,因此可能会有意想不到的错误会产生。故需要使用一个新的常量const常量,在声明语句中,只要将const类型修饰符放在类型名之前,即可将类型名后的标识符声明为具有该类型的const常量。const常量是被编译器放在只读存储器中的,因此const常量的值是不能够在源程序中进行更改,只能在定义的时候给其赋初值。例如:
const double PI = 3.14159;
#include <stdio.h>
intmain()
{
const double PI = 3.14159; //定义double类型的const常量PI
double r;
printf("Input r:");
scanf("%f", &r);
printf("circumference = %fn", 2*PI*r);
printf("area = %fn", PI*r*r);
return 0;
}
最后
以上就是大气自行车为你收集整理的C语言小知识——宏常量、宏替换和const常量的全部内容,希望文章能够帮你解决C语言小知识——宏常量、宏替换和const常量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复