【发布时间】:2013-10-05 16:10:59
【问题描述】:
所以,我在阅读指针时遇到了指向数组的指针的概念。问题是指向数组的指针似乎根本没有用,因为我可以直接获取元素,而不是使用指针来获得偏移量来访问数组元素。但是,我觉得好像我错过了这些有用的原因。
那么,简而言之,指向数组的指针有什么意义?应该如何以及为什么要使用它们,它们有什么实际应用吗?
编辑:我的意思是在普通/简单数组的上下文中,例如:
int array[5];
编辑: 正如 Keith 指出的那样,我特意询问指向数组的指针,例如 char (*ptr)[42],它是指向 42 元素 char 数组的指针。
【问题讨论】:
-
什么样的数组?
int* myArray = malloc(5 * sizeof(int) );也是一个数组... -
@LihO,我的意思是简单的数组,比如 int array[5];我会编辑它..
-
从什么时候开始有 5 个连续的整数组成一个数组?
-
@Paulpro:语法上它不是数组,但语义上它是。
-
@LihO:您写道:“
int* myArray = malloc(5 * sizeof(int) );也是一个数组”。是和不是。malloc调用如果成功,则为int的匿名 5 元素数组分配空间。但是myArray是一个指针对象,类型为int*。myArray在任何意义上都不是数组。它只是恰好指向数组的第一个元素。