有没有办法在不知道数组大小的情况下将数组末尾的指针带到数组开头?

und*_*ker 1 c arrays pointers

假设给定一个数组 char *words[] = {"The", "Quick", "Brown", "Fox", "Jumped", "Over", "The", "Lazy", "Dog"};和一个不知道输入数组大小的指针char ** point = &word[9];,如何才能将指针指向数组的开头?这样做的目的是在递归函数中使用,其中在数组的开头设置了一个指针,但随着函数递归,每次递归时指针都会递增。

我尝试简单地递减指针,直到在开始时遇到空指针,但指针指向数组后面内存中的某个随机值。关于如何处理这个问题有什么建议吗?

Tur*_*son 5

一般来说,仅给出指向数组元素之一的指针是无法知道数组的大小的。你必须自己跟踪它。

要么保留一个指向数组开头的指针,要么自己在其中放置一些哨兵值(如 NULL 指针)。