int **p二级指针

int **p二级指针

*p和**p的区别:

int *p:一级指针,表示p所指向的地址里面存放的是一个int类型的值

int **p:二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针(即p指向的地址里面存放的是一个指向int的一级指针)

例如:

int i = 10;
 int *p = &i;
 int **p1 = &p;
 cout << *p << endl;
 cout << **p1 << endl;

打印结果:

10

10

**p在c++环境下不能用在二维数组指针

int map[2][3] = { { 10, 20, 30 }, { 40, 50, 60 } };
 //int(*p)[3] = map;//二维数组用的指针
 int *pp = map[1];//map[1][0]~map[1][2]的合段地址
 int **p =&pp;
 cout << **p << endl;

打印结果:

40




猜你喜欢

转载自blog.csdn.net/chen1083376511/article/details/78382435
今日推荐