C++中int ****p4,***p3,**p2,*p1;****p4,***p3,**p2,*p1各是什么意思?

2025-04-03 15:03:16
推荐回答(1个)
回答1:

int a = 1000 ;

int* p1 = &a ; //取得a的地址,赋值给 int的指针类型 p1.
int** p2 = &p1; //取得p1的地址,赋值给 int* 的指针类型p2。
int*** p3 = &p2; //取得p2的地址,赋值给int**的指针类型p3

printf("a = %d", *p1);
printf("a = %d", **p2);
printf("a = %d", ***p3);

int**** p 的意思(4个星星)就是 定义个 int*** 这种类型(三个星星)的 指针类型

任何一种类型,除了void,都有对应的指针类型。int 有int*, float 有float*, struct xxx 有 xxx* 。
而指针类型也有它的指针类型 那么就出现了 int** p 然后可以无穷下去。。。