我正在编写一个程序,其中我必须将结构指针数组传递给主体中的函数,如下所示
struct node *vertices[20];
create_vertices (&vertices,20);
功能的实现是这样的
void create_vertices (struct node *vertices[20],int index)
{
}
在这我必须传递一个索引为 20 的结构指针数组,我在 mains 之外所做的声明如下
void create_vertices(struct node **,int);
但是,每次编译代码时,我都会在这三行中遇到问题,因为
bfs.c:26:6: error: conflicting types for ‘create_vertices’
bfs.c:8:6: note: previous declaration of ‘create_vertices’ was here
bfs.c: In function ‘create_vertices’:
bfs.c:36:15: error: incompatible types when assigning to type ‘struct node’ from type ‘struct node *’
我无法理解我应该怎么做。我想要做的是:
- 在 main 中声明一个结构指针数组(我已经这样做了)。
- 将数组的地址传递给函数(这是我搞砸的地方)。
- 在主电源之外声明正确的函数原型。
代码必须在 C 上,我正在 Linux 上对其进行测试。有人能指点我吗?