il codice sembra funzionare, ho solo dei dubbi nel passagio dei parametri in questo caso la i

codice:
#include <stdio.h>
#define max 2
int i;
typedef struct {char nome[30];
               char cognome[30];
			   } persona;

persona persone[max];

void stampa_nome(int i);
void prendi_nome(int i);
void stampa_cognome(int i);
void prendi_cognome(int i);

void main(){

	for (i=0; i<max; ++i){

prendi_nome(i);qui è giusto mettere i e non int i ?
prendi_cognome(i);qui è giusto mettere i e non int i ?
stampa_nome(i);qui è giusto mettere i e non int i ?
stampa_cognome(i);qui è giusto mettere i e non int i ?
}

}
void stampa_nome(i){qui è giusto mettere i e non int i ?
printf("il nome utende è; %s\n", persone[i].nome);
}

void prendi_nome(i){qui è giusto mettere i e non int i ?
printf("inserisci nome utente\n");
scanf ("%s", persone[1].nome);
}

void stampa_cognome(i){qui è giusto mettere i e non int i ?
printf("il cognome utende è; %s\n", persone[i].cognome);
}

void prendi_cognome(i){ //qui è giusto mettere i e non int i ? 
printf("inserisci cognome utente\n");
scanf ("%s", persone[i].cognome);
}
inoltre essendo questi puntatoti, non è necessario ritornare nulla, giusto?

grazie