目录
前言
初步认识 #define 和宏的概念
一、#define是什么?
#define又称宏定义,标识符为所定义的宏名,简称宏。#define 的功能是将标识符定义为其后的常量。一经定义,程序中就可以直接用标识符来表示这个常量。变量名表示的是一个变量,但宏名表示的是一个常量。可以给变量赋值,但绝不能给常量赋值。
二、#define标识符的特点
#define的特点是定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。
预编译又叫预处理。预编译不是编译,而是编译前的处理,编译器正式开始编译程序之前,会执行一段预处理程序(又称预处理器)专门对程序执行预处理操作。
三、初步认识
1、用 #define 定义标识符的一般形式为:
#define 标识符 常量 //注意, 最后没有分号
2、使用实例
2.1 使用define 定义标识符常量
#define _CRT_SECURE_NO_WARNINGS
//define 定义标识符常量
#define num 100
#include<stdio.h>
int main()
{
printf("%d\n", num);
int n = num;
printf("%d\n", n);
int arr[num] = { 0 };
return 0;
}
以上输出的结果为100 100,数组arr[num]的定义也没有报错。
2.2 使用define 定义宏
#define _CRT_SECURE_NO_WARNINGS
#define ADD(x,y) ((x)+(y))
#include<stdio.h>
int main()
{
int a = 10, b = 20;
int c = ADD(a, b);
printf("%d\n", c);
return 0;
}
其中ADD 宏名 (x,y) ,宏是有参数的,宏的参数是无类型,((x)+(y))宏体。
这很像使用函数进行两数相加。
以上就是今天要讲的内容。