prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 6.8

Q从实际应用的角度来看,数组和指针有什么区别?


A数组是单个、预先分配的连续元素块(所有元素类型相同),其大小和位置是固定的。指针是对任何地方的任何数据元素(特定类型)的引用。指针必须被赋值指向在其他地方分配的空间,但它可以随时被重新赋值(并且如果空间是从malloc获得的,可以调整大小)。指针可以指向一个数组,并可以模拟(结合malloc),一个动态分配的数组,但指针是一种更通用的数据结构(另请参阅问题 4.1)。

由于所谓的数组和指针的等价性(另请参阅问题 6.3),数组和指针经常看起来可以互换使用,特别是对由malloc分配的内存块的指针,经常被处理(并且可以使用[])作为真正的数组来引用。另请参阅问题 6.146.16。(请注意sizeof;另请参阅问题 7.28。)

另请参阅问题 1.326.1020.14


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

Eskimo North 托管