gpt4 book ai didi

c - 数组元素之前的取消引用运算符?

转载 作者:行者123 更新时间:2023-12-04 10:58:32 26 4
gpt4 key购买 nike

int y = *x[0] 之类的符号是什么?做,即当您在数组元素之前有一个取消引用运算符时?

最佳答案

后缀运算符 []比前缀运算符 * 更强的绑定(bind), 更一般地说,所有后缀运算符的绑定(bind)比所有前缀运算符都强。因此*x[0]相当于*(x[0])可能出现并具有类型 int在不同的情况下:

  • 如果 xint 的数组的数组,也称为 int 的二维数组: int x[2][2];
  • 如果 x是指向 int 的指针数组: int *x[2];
  • 如果 x是指向 int 的指针的指针: int **x;
  • 如果 x是指向 int 数组的指针: int (*x)[2]; (这个很困惑)

  • 对于以上所有,表达式 *x[0]等同于以下任何一种:
  • x[0][0]
  • **x
  • 巧合(*x)[0]

  • 以及这些不寻常和令人惊讶的表达:
  • 0[*x]
  • 0[x[0]]
  • 0[0[x]]
  • *0[x]
  • 0[x][0]
  • 关于c - 数组元素之前的取消引用运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60308427/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com