gpt4 book ai didi

c - 指向局部指针数组的全局指针

转载 作者:太空宇宙 更新时间:2023-11-04 05:35:04 26 4
gpt4 key购买 nike

我在一个函数中有一个指向数组的指针数组。我需要在另一个函数中访问该数组。

指针数组

char *ptr[size + 1];

我做了一个全局指针

char *p;

我指向 ptr(与 ptr 具有相同的功能)

p = *ptr;

然后我尝试从其他函数访问 ptr

void otherFunction(void){
for(int n = 0; n < 6; n++)
{
char* str = &p[n];
printf("%i %s\n", n, str);
}
}

ptr[0] = "abcd"
ptr[1] = "bcde"
ptr[2] = "cdef"
ptr[3] = "defg"
ptr[4] = "efgh"
ptr[5] = "fghi"

otherfunction(); 的输出是:

0 abcd
1 bcd
2 cd
3 d
4
5

我想要的输出是

 0 abcd
1 bcde
2 cdef
3 defg
4 efgh
5 fghi

我的问题是:(0) 这里出了什么问题。 (1) 我该如何解决 (2) 或者有更好的方法来做到这一点。要求是 otherfunction() 不能接受任何参数,并且 ptr 需要保留在其函数的本地。 (我确定其他代码没有导致问题,ptr 没有问题)

最佳答案

ptr 是一个指针数组。

char **p = ptr;

char *str = p[n];
printf("%i %s\n", n, str);

关于c - 指向局部指针数组的全局指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41421168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com