探究n阶指针的用法
先看代码:
#include<iostream>
using namespace std;
int main()
{
int a = 1;
int* b = &a;
int** c = &b;
int*** d = &c;
cout << "a的地址:" << &a << "\t" << "a的值:" << a << endl;
cout << "b的地址:" << &b << "\t" << "b的值:" << b << endl;
cout << "c的地址:" << &c << "\t" << "c的值:" << c << endl;
cout << "d的地址:" << &d << "\t" << "a的值:" << d << endl;
}
运行结果:
PS:
1.我们可以看到,一级指针b的值是变量a的地址,而b的地址是一级指针b自己的地址
2.二级指针c的地址是一级指针b的地址,而c的地址是二级指针c自己的地址
3.三级指针d的地址是二级指针c的地址,而d的地址是三级指针d自己的地址
4.以此类推,n级指针指向的地址是n-1级指针本身的地址,而n本身系统会给另外一个地址
5.一般的代码不会用到这么多的指针,若是用到了,则是代码出了问题
再看图示:
PS:简单明了