const的注意点和用法

注意:

修饰变量的变量必须初始化
 const int i=1;//合法
       const int j;//非法

同样,定义一个指针常量同样要初始化

int x;

int *const p;//错误

int *const q=&x;//正确,定义一个永远指向x的指针变量p

与上面容易混淆的是

int const *p;

const int *p;//都一样,都是创建一个指向常量的指针变量(即不能通过该指针变量修改其指向的变量的值)但可以通过原变量名修改值,因为原变量不是一个常变量

int x=1;
 int const *p;
 p=&x;
 *p=2;//不行

x=3;//行

 

 

 

用法:

1.用const创建一个符号常量

const double pi=3.1415926;

2.在指针和参量声明中使用const

合理的使用const可以使编译器很自然的保护那些不希望被改变的参数

如  void f(const int *p)//就不能通过该指针修改变量

 

void printf_a(const int array[])//该函数的设计意图不是要修改数组的值,所以使用const保护数组变量

{  //array[0]=2;//错,不能修改 因为array是一个指向常量的指针

  }

int main()

{  int array[10]={1,2,3,4,5,6,7,8,9,10};  

printf_a(array);

}

posted on 2013-12-22 11:00  剑行earth  阅读(134)  评论(0编辑  收藏  举报

导航