C++中的常量指针和指针常量

1.概述:

const Type * pointer;常量指针(const在*之前,与类型的位置无要求),所指向的地址上的数据是常量,而指向的地址可以变化。

Type * const pointer:指针常量(const在*之后),                         指向的地址是常量,              而地址上的数据可以改变。

2.例子:

#include "iostream"

#define N 8
using namespace std;

void main(){
    int n1=1;
    int n2=2;
    int * const p1=&n1;//指针常量,
    int const * p2=&n1;//常量指针,

    *p1=3;//指针常量可以改变指向地址的数据,n1也改变了
    //p1=&n2;//指针常量不能改变指向的地址

    //*p2=3;//常量指针不可以改变指向地址的数据,
    p2=p1;//常量指针可以改变指向的地址,n2没有改变
    cout<<"p1:"<<*p1<<"|"<<"n1:"<<n1<<endl;
    cout<<"p2:"<<*p2<<"|"<<"n2:"<<n2<<endl;

    getchar();
}

 

posted @ 2013-07-30 17:20  风风清清扬扬  阅读(232)  评论(0编辑  收藏  举报