1.const
修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。
1 #include
3 void main()
4 {
5 const int MAX =100;
6 printf("MAX = %d \n",MAX);
7 MAX = 101;
8 printf("MAX = %d \n",MAX);
9 }
const.c:7: error: assignment of read-only variable //说明MAX是只读的
可以节省空间,避免不必要的内存分配。 例如:
#define PI 3.14159 //常量宏
const doulbe Pi=3.14159; //此时并未将Pi放入ROM中 ......
double i=Pi; //此时为Pi分配内存,以后不再分配!
double I=PI; //编译期间进行宏替换,分配内存
double j=Pi; //没有内存分配
double J=PI; //再进行宏替换,又一次分配内存!
const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干个拷贝。
阅读(1384) | 评论(0) | 转发(0) |