例如:
int x = 7 // x is variable name
int* p_x = &x // p_x is a pointer to x
int** pp_x = &p_x // pp_x is a double pointer to x.
是否有一种无需使用中间变量x
就能快速从pp_x
转到p_x
的方法?
编辑:
感谢下面的评论,我意识到这样的事情实际上是不可能的,因为如果没有p_x
,pp_x
将毫无意义(没有双关语),因为它不会指向任何东西。
答案 0 :(得分:6)
如果您要定位C99以上的内容,则可以使用复合文字-如下所示:
int **pp_x = (int *[1]){(int[1]){7}};
答案 1 :(得分:4)
int** pp_x = &p_x //pp_x is a double pointer to x.
它是指向x的指针。因此,您必须拥有p_x
才能拥有pp_x
,并且需要始终维护p_x
,以通过x
访问pp_x
。