gpt4 book ai didi

c - C 中的指针未按预期工作

转载 作者:行者123 更新时间:2023-11-30 21:12:54 24 4
gpt4 key购买 nike

好的,这是代码的重要部分。这只是一个摘录。

在 steuer.c 中:

static char (*pointer)[8];

extern void test(char *pointer[]); // im not sure, whether this calling is correct

int main(void)
{
int i;
check = malloc(sizeof(*pointer) *10);
for(i=0;i<100;i++)
test(check[1]);
...
}

在compute.c中:

void test(char * compute[])
{
char temp="test";
if(strcmp(compute, temp) == 0)
return 1;
else
return 0;
}

问题是:预期为“char **”,但参数类型为“char *”

谢谢

最佳答案

问题是您已声明 test 来接受 char*[] 参数 - 字符指针数组,也称为字符串数组。

很明显,在这两个文件中,您都将其用作字符指针 - char* - 因此应该只是一个字符串。

您需要将 void test(char *compute[]) 更改为 void test(char *compute),以便类型正常工作。 (您还需要在其他声明中进行相同的更改。)

关于c - C 中的指针未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26952117/

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