C ++ * vs [] como um parâmetro de função

Qual é a diferença entre:

void foo(item* list)
{
    cout << list[xxx].string;
}

e

void this(item list[])
{
    cout << list[xxx].string;
}

Assumindo o item é:

struct item
{
    char* string;
}

Com o ponteiro apontando para o primeiro de uma matriz de caracteres

elist é apenas uma matriz de itens ...

questionAnswers(3)

yourAnswerToTheQuestion