专业编程基础技术教程

网站首页 > 基础教程 正文

C++|多级指针和多级指针引用

ccvgpt 2024-08-05 12:25:56 基础教程 109 ℃

简单说,二级指针是指其指向的还是一个指针,三级指针是指其指向的是一个二级指针,三级指针使用解引用(解除引用)运算符“*”运算后是一个二级指针,再次解引用(三级指针前置**)得到一个一次指针,再次解引用(三级指针前置***),得到具体值。

至于指针引用,表示引用的是一个指针,其使用相当于对其引用的对象(指针)的直接使用,解引用也是一样,引用的三级指针解引用前使用“***”也能得到其内存中的具体值。

C++|多级指针和多级指针引用

(注意变量引用,使用时也是相对于对变量的直接使用。)

直接看代码和下面的图片:

#include <iostream>

using namespace std;

int main()

{

// 多级指针

int i = 5;

int *p = &i;

int* *p2 = &p;

int** *p3 = &p2;

cout<<p<<" "<<*p2<<" "<<**p3<<endl; // 0012FF44 0012FF44 0012FF44

(***p3)++; // 6

cout<<i<<endl;

// 多级指针引用

int* &r = p;

cout<<r<<" "<<*r<<endl;// 0012FF44 6

int** &r2 = p2;

cout<<*r2<<" "<<**r2<<endl;// 0012FF44 6

int*** &r3 = p3;

cout<<**r3<<" "<<***r3<<endl;// 0012FF44 6

int j = 77;

cout<<&i<<" "<<&p3<<" "<<&j;

system("pause");

return 0;

}

/*

0012FF44 0012FF44 0012FF44

6

0012FF44 6

0012FF44 6

0012FF44 6

0012FF44 0012FF38 0012FF28

*/

-End-

Tags:

最近发表
标签列表