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

1.概述:ios

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

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

2.例子:code

#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();
}
相关文章
相关标签/搜索