所以,我正在阅读有关指针,并且看到了指向数组的指针的概念.事实是,一个指向数组的指针根本看起来并不重要,因为不用使用指针来获得一个数组元素的偏移量,所以我可以直接获取元素.但是我觉得我失去了为什么这些可以有用的原因.
那么简而言之,指向数组的点是什么?它们应该如何和为什么被使用,它们有什么实际应用?
编辑:我的意思是在正常/简单数组的上下文中,如:
int array[5];
编辑:正如Keith指出的那样,我特意询问数组的指针,例如char(* ptr)[42],它是一个指向一个42元素的char数组的指针.
解决方法
不幸的是,您收到的一些答案在C中显示了对指针和数组的误解,简而言之:
1)指向数组的指针与指向第一个元素的指针不同.
2)声明数组类型与声明指针不同.
您可以在C faq部分找到与指针和数组之间常见混淆相关的完整描述:http://c-faq.com/aryptr/index.html
处理你的问题 – 指向数组的指针是有用的,以传递一个编译时间已知大小的整个数组,并在参数传递过程中保留有关其大小的信息.当处理某些数组的子阵列时,在处理多维数组时也是有用的.