有一个简短的方法将变量名称转换为双指针吗?

Mic*_*ein 1 c c++ pointers

例如:

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.
Run Code Online (Sandbox Code Playgroud)

是否有一个快速的方法,从去xpp_x不使用中间变量p_x

编辑:感谢下面的评论我意识到这样的事情是不可能的,因为没有p_x,pp_x将毫无意义(没有双关语意),因为它不会指向任何东西.

AnA*_*ons 6

如果你的目标是C99之上的任何东西,你可以使用复合文字 - 如下所示:

int **pp_x = (int *[1]){(int[1]){7}};
Run Code Online (Sandbox Code Playgroud)

  • 这个结构的真实世界用途是什么? (3认同)