C语言数据结构建两个表取交集放到新表中


#include<stdio.h>
#include <malloc.h>
#define LISTSIZE 20

typedef struct {
    int * elem;
    int length;
    int ListSize;
}SqList;

void GetElem(L, i, &e);
void LocateElem();
void ListInsert();

int main() {
    SqList L1,L2,L3;
    int i;
    L1.elem = (int*)malloc(LISTSIZE * sizeof(int));
    L1.ListSize = LISTSIZE;
    printf("输入表L1的数据个数以及数据:\n");
    scanf("%d",&L1.length);
    for (i = 0; i < L1.length; i++) {
        scanf("%d",&L1.elem[i]);
    }
    printf("L1的数据是:\n");
    for (i = 0; i < L1.length; i++) {
        printf("%d.",L1.elem[i]);
    }

    printf("\n\n");

    L2.elem = (int*)malloc(LISTSIZE * sizeof(int));
    L2.ListSize = LISTSIZE;
    printf("输入表L2的数据个数以及数据:\n");
    scanf("%d", &L1.length);
    for (i = 0; i < L1.length; i++) {
        scanf("%d", &L1.elem[i]);
    }
    printf("L2的数据是:\n");
    for (i = 0; i < L1.length; i++) {
        printf("%d.", L1.elem[i]);
    }

    L3.elem = (int*)malloc(LISTSIZE * sizeof(int) * 2);
    L3.ListSize = LISTSIZE * 2;
    L3.length = L1.length + L2.length;

    for (i = 1; i <= L1.length; i++) {
        GetElem(L1, i, &e);
        if (LocateElem(L2, e, equal)) {
            ListInsert(&L3, i, e);
            }
    }
    return 0;
}

代码如图所示,最后的GetElem(),LocateELem();ListInsert()三个函数该如何定义?
我试着声明了GetElem函数,错误:不允许使用不完整的类型,这是为何?
谢谢!

(这个代码是我根据《数据结构》严蔚敏的知识点编写的,书上代码用伪码表示,如果想找到相关C代码可以去哪里呢?)

?函数的声明方式不是

返回类型 函数名(数据类型 参数名,数据类型 参数名……)

吗?你的参数类型去哪了?我建议你先把语法学好,然后去学算法和数据结构,直接学数据结构不太好的

直接发截图不好吗?你根本没说清楚错误在哪里。