关键字

1410阅读 0评论2016-02-23 644924073
分类:C/C++

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定义的常量在内存中有若干个拷贝。
上一篇:mii-tool与ethtool的用法详解
下一篇:const(指针常量/指向常量的指针)