探究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:简单明了