se per lista intendi un array nativo, sappi che in realtà è soltanto un puntatore, quindi tu scrivi:

int arrayDiInt[] = {2,3,4}

void funzione(int* array) {
// facciamo qualcosa su questo array, es.
array[0] = 3;
}

printf("%d ; %d ; %d",arrayDiInt[0],arrayDiInt[1],arrayDiInt[2]); // stampa "2 ; 3 ; 4"

funzione(arrayDiInt);

printf("%d ; %d ; %d",arrayDiInt[0],arrayDiInt[1],arrayDiInt[2]); // stampa "3 ; 3 ; 4"

se invece intendi una lista STL (standard template language), ti conviene passarla via reference (non mi dilungo a spiegarti, cerca la documentazione c++)