C programming error: expected expression before 'struct'

C programming error: expected expression before 'struct'

目标 - 使用递归而不是 for 循环将元素插入结构数组。

第 33 行的错误 1:'struct'

之前的预期表达式

第 33 行的错误 2:函数参数太少 'insert'


#include <stdio.h>
#include <stdlib.h>

struct Array 
{
    int a[10];
    int length;
    int size;
    
};


void insert(struct Array *arr, int index, int n, int len)
{
    
    if(len == index)
    {
        arr -> a[index] = n;
    }
    
    else
    {
        arr -> a[len] = arr -> a[len-1];
        insert(struct Array *arr, index, n, len-1); \ Error Line 33.
        
    }
}


int main()
{
    struct Array arr = {{1,2,3,4,5},5,10};
    

    return 0;
}

调用函数时,不要指定参数的类型。就像最后 3 个一样直接传递它们。

insert(arr, index, n, len);