prev up next   top/contents search

comp.lang.c FAQ 列表· 第 6.10 题

我还是感到困惑。指针是一种数组,还是数组是一种指针?


数组不是指针,反之亦然。数组引用(即,在值上下文中的任何数组提及)会变成指针(参见问题 6.26.3)。

也许有三种思考这种情况的方式

  1. 指针可以模拟数组(尽管不止如此;参见问题 4.1)。
  2. 几乎没有“数组”这东西(毕竟它是一个“二等公民”);下标运算符[]实际上是一个指针运算符。
  3. 在更高层次的抽象上,指向一块内存的指针实际上与数组相同(但这并不说明指针的其他用途)。

但是,重申一下,这里有两种不要去这样想的方式

  1. 4. “它们完全一样。”(错误;参见问题 6.2。)
  2. 5. “数组是常量指针。”(错误;参见问题 6.9。)

另请参见问题 6.8


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管