建议优先使用const
1、const有数据类型,define没有数据数据类型。
2、const使用内存较少,define较多。(原因是储存机制不同导致)
3、const定义的常量编译时可以进行数据类型检验,define不能。
4、使用define时要注意”边缘效应”.(由于define只是简单的替换)
边缘效应:
#include <stdio.h>
#define n1 2+3
const int n2=2+3;
int main()
{
printf("%d\n%d",n1/2,n2/2);
return 0;
}
运行结果:
3
2
运行过程:
n1/2:2+3/2
n2/2:(2+3)/2
或许还有一些其他地方的不同,本文章并不详细的进行解释,但在正常使用中经常需要注意的地方大体就是这些。