常量指针与指针常量的多重指向

来源:互联网 发布:淘宝上的希爱力能买吗 编辑:程序博客网 时间:2024/05/12 23:21

#include <iostream>

using namespace std;


int main()

{

const int*p1;//常量指针

int const*p2;//常量指针

// int*const p3;//指针常量


int*const* p;//p是一个指针变量

//  int**const pp;//pp是一个指针常量

//以此类推:

int*const*const*p4;//p4是一个变量,指向一个常量指针,该常量指针又指向一个常量指针

// int*const*const*const p5;//p5是一个指针常量,指向一个指针常量,该指针常量又指向一个指针常量

// int***const p6;//p6是一个指针常量,指向一个指针变量,该指针变量又指向一个指针变量

int*const**const*p7;//p7是一个指针变量,该指针变量指向一个指针常量,该指针常量指向指向一个指针变量,该指针变量又指向一个指针常量

  


//举例:

int a=2;

int*const p8=&a;

int*const*const p9=&p8;

int*const*const* p10=&p9;

cout<<***p10<<endl;//此时可以通过间接解引用来访问

(***p10)++;

int*const*const**const p11=&p10;//合法

// int**const*const**const p12=&p10;//非法


const int*const*const* p13=p10;

//  int*const*const**const p14=&p13;//非法

    const int*const*const**const p14=&p13;//合法

}

0 0