c语言中的宏定义实现获取数组的长度的方法

内容纲要

先解释一下什么是宏定义:

1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译
2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号”#”开头,并且结尾不用分号
3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件
4.C语言提供的预处理指令主要有:宏定义文件包含条件编译

其实宏定义的核心就是在编译之前进行替换
/*宏定义*/
#include “stdio.h”

#define ARR_LEN 5 //不带参数的宏定义
#define avg(a,b) ((a+b)/2) //带参数的宏定义

void main()
{
int arr[ARR_LEN]={1,2,44,66,169};
int i;
int a=10;
int c=6;

for(i=0;i<ARR_LEN;i++){
printf(“arr[%d]=%d\n”,i,arr[i]);
}

printf(“%d和%d的平均值是:%d”,a,c,avg(a,c));
}

发表评论

邮箱地址不会被公开。 必填项已用*标注

48 − 46 =