【发布时间】:2017-01-14 16:11:12
【问题描述】:
我正在阅读The Unix haters handbook,在第 9 章中有些东西我不太明白:
C 也没有真正的数组。它有一些看起来像数组的东西 但实际上是一个指向内存位置的指针。
除了使用指向索引内存位置的指针之外,我真的无法想象有任何方法可以将数组存储在内存中。无论如何,C 如何实现“假”数组?这种说法是否属实?
【问题讨论】:
-
真是一堆废话。当然 c 有数组;并且大多数变量在内存中都有一个位置。只是您可以使用指针算法来访问数组元素,仅此而已。
-
我觉得作者只是想刻薄,没想到会有人质疑。
-
真的觉得作者有点火鸡。
-
作为一个问题可能有点宽泛。其他语言有效地将有关数组的形状信息保存在结构中,以便语言运行时知道诸如维数、数组每个维的下限和上限以及所需的任何其他内容,以及指向数组开头的指针。存储数组的数据。
-
UNIX-HATERS 手册是一本有趣的读物。它于 1994 年出版。它描述了 POSIX 标准帮助统一 Unix 系统行为方式之前的一个时代。它抱怨的很多东西都是固定的。但许多投诉也有一定的正义性。