Ciao... grazie... alcune cose mi sono diventate più chiare di prima

c'è ancora un problema che non fa partire il programma:

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

#define MAX_VETT 100

int *inverso(int *vett[]);
int vett[MAX_VETT],inv_vett[MAX_VETT];
int i,dim_vett,j;

main()
{
    inizio:
    printf("Inserisci la dimensione del vettore (MAX 100): ");
    scanf("%d",&dim_vett);
    if(dim_vett<=MAX_VETT)
    {
        printf("Ora inserici uno ad uno i valori del vettore: \n");
        for(i=0;i<dim_vett;i++)
            scanf("%d",&vett[i]);
        for(j=0;j<dim_vett;j++)
            printf("%2d",vett[j]);
        printf("\n\n");
        for(j=0;j<dim_vett;j++)
            inv_vett=inverso(vett[j]);
        for(j=0;j<dim_vett;j++)
            printf("%2d",inv_vett[j]);
    }
    else
    {
        printf("\n\nIl valore max e' 100!!! RIPROVA!!!\n\n");
        goto inizio;
    }
    system("pause");
}

int *inverso(int *vett[])
{
    for(i=dim_vett;i>=0;i--)
    {
        for(j=0;j<dim_vett;j++)
        {
            inv_vett[j]=*vett[i];
        }
    }
    return(inv_vett);
}
Mi da ancora 3 errori li nella parte rossa:

1error: invalid conversion from 'int' to 'int**'
2error: initializing argument 1 of 'int* inverso(int**)'
3error: incompatible types in assignement of 'int*' to 'int[100]'


Come li risolvo??

Grazie ancora