gpt4 book ai didi

c - 将指向结构体的指针数组传递给函数

转载 作者:行者123 更新时间:2023-11-30 18:15:56 25 4
gpt4 key购买 nike

我有一个函数,其中声明了指向结构的指针数组

void functionA(argument1, argument2) {
...
struct1 *point[2];
...

functionB(*point, ...) // Call the function ?
}

// Declare the function ?
void functionB(struct1 *point[], ...) {


}

我需要将此数组*point[2]传递给另一个函数,例如functionB,我需要在其中进行一些基于point[0]的操作>point[1] 正确的方法是什么?

当我像 functionB(*point, ...) 一样调用 functionA 中的 functionB 时,我收到错误 < strong>不兼容的指针类型,而当我像 functionB(*point[], ...) 那样调用它时,我收到了 expected expression before ] 的错误 token

最佳答案

你的函数调用是错误的。 functionB 期望其参数为 struct1 ** 类型,但您传递的是 struct1 * 类型的参数。函数调用应该是

functionB(point, ...);  

您应该知道,根据 C 规则,当将数组传递给函数时,数组将衰减为指向其第一个元素的指针。函数调用中的point将会衰减,衰减后将具有类型struct1 **

关于c - 将指向结构体的指针数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36303828/

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