【问题标题】:What does the following declaration means? [duplicate]以下声明是什么意思? [复制]
【发布时间】:2019-03-23 10:02:33
【问题描述】:

我是编程世界的新手,我正在研究指针和数组。我在一个网站上阅读了这段代码。这行是什么意思?

 int(*ptr)[10];

是指针还是大小为 10 的数组?

【问题讨论】:

  • 两者。它是一个指向大小为 10 的数组的指针。相反,int* ptr[10] 将是一个指针数组(大小为 10)。
  • 也放弃你正在阅读的网站。
  • 一个方便的网站:cdecl.org
  • 删除了 C++ 标签,因为没有人在他们正常的头脑中会使用它 :-) 也作为骗子关闭,因为关于如何阅读 C 类型有一个非常好的规范问题。

标签: c


【解决方案1】:

它是一个指向 10 个数组的指针 int

int *ptr[10] 是一个由 10 个 int 指针组成的数组。

【讨论】:

    【解决方案2】:

    https://stackoverflow.com/a/89100/5596981

    因此它是一个指向数组的指针。

    再举个例子,在int main(int argc, char* argv[]) 中,argv 是一个指针数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 2017-12-21
      • 2015-06-07
      相关资源
      最近更新 更多