关于常量(const)和宏定义(#define)的一些区别
const
在编译速度要比#define
快很多,所以平时能用const
尽量使用const
#define
属于宏定义,在编译时优先执行- 使用
const
定义的变量作数组长度时不能同时初始化数组的值,例如
#include<stdio.h>
int main()
{
const int N = 10;
int num[N]={0};
return 0;
}
会报错error: variable-sized object may not be initialized
而使用
#include<stdio.h>
#define N 10
int main()
{
int num[N]={0};
return 0;
}
则不会报错