const与指针

const常量说明符    :定义一个常量,在程序中改变量不能被改变  

          const int a=1;  定义时必须初始化 const  int  b;   wrong

const 与 指针:

    const int * p = & i ;   int*  const p=& i ;  有什么区别呐?

       const int *p =...表示p   指向    一个常量   所以*p是不能被改变值的!

    int*  const  p = ... 表示  p  指针是一个常量 这就要求常量指针必须在声明的时候初始化了

代码:

#include <bits/stdc++.h>
using namespace std;
const int i=1;
//const 常量只能被常量指针指向,因为不能留下通过指针改变常量的漏洞
// so    int * const q=&i is wrong
int j=2;
const int *p=&i;
//(*p)++;      wrong.  a const variable can't be changed
int * const q=&j;   //

int main()
{

    (*q) ++;
    cout<<*p<<endl;       //1
    cout<<*q<<endl;       //3
    return 0;
}

  

posted @ 2017-04-05 19:52  小螺号打豆豆  阅读(129)  评论(0编辑  收藏  举报