版权声明:共享知识,欢迎转载 https://blog.csdn.net/kakiebu/article/details/82769867
1. define 与 const
两个区别在于直接替换与处理后在替换
rm *.c 批量删除
#include<stdio.h>
#define AA PI
#define BB NUM + 8
int main(){
//测试sizeof 以及汇编语言
//结果显示sizeof函数只看变量类型,不赋值
//gcc -S *.c 进入汇编
int n = 10;
printf("%i\n", sizeof(int));
printf("%i\n", sizeof(n));
printf("%i\n", sizeof(n+5));
printf("%i\n", sizeof(n+5.5));
printf("%i\n", sizeof(n=123));
printf("n=%i\n", n);
//对比#define 与 const
//#define 是完全直接替换,const是“计算”后替换
//查看预处理效果 gcc -E *.c
//可以写 gcc -E *.c > view 重定向为 view文件
const double PI = 3.14;
const int NUM = 2;
const double aa = PI;
const double bb = NUM + 8;
printf("#define %g\n", AA * BB);
printf("const %g\n", aa * bb);
return 0;
}