(Resolvido)Array de ponteiros

Olá, podiam-me esclarecer uma duvida?
Estou a tentar declarar um array de ponteiros dinâmico para estrutura e recebo o seguinte erro:
invalid initializer.

Estou declarando da seguinte maneira:
Registo* temp[TAM]=(Registo*)malloc(TAM*sizeof(Registo));

Qual o meu erro?
Obrigada pela atenção

O que eu fiz foi:

Registo* temp[TAM];

e depois criei à parte uma função:

Registo** criarArray(Registo* vetor[TAM])
{
    Registo **novo = (Registo**)malloc(sizeof(Registo*));
    for(int i=0;i<TAM;i++)
        vetor[i]=(Registo*)malloc(sizeof(Registo*));

    return novo;

}