所以,我在阅读有关指针的内容时,遇到了指向数组的指针的概念。问题是指向数组的指针似乎根本没有用,因为我可以直接获取元素而不是使用具有偏移量的指针来访问数组元素。但是,我觉得好像我错过了这些有用的原因。
所以,简而言之,指向数组的指针有什么意义;它们应该如何使用以及为何使用,它们是否有任何实际应用?
编辑:我的意思是在普通/简单数组的上下文中,例如:
int array[5];
编辑: 正如 Keith 指出的那样,我特别询问指向数组的指针,例如 char (*ptr)[42]
这是一个指向42 元素的字符数组。
最佳答案
不幸的是,您收到的一些答案显示了对 C 中的指针和数组的误解,简而言之:
1) 指向数组的指针与指向第一个元素的指针不同。
2) 声明数组类型与声明指针不同。
您可以在 C 常见问题解答部分找到有关指针和数组之间常见混淆的完整描述:http://c-faq.com/aryptr/index.html
解决您的问题 - 指向数组的指针对于传递编译时已知大小的整个数组并在参数传递期间保留有关其大小的信息很有用。当您要对某个数组的子数组进行操作时,它在处理多维数组时也很有用。
关于c - 指向数组的指针有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19199820/