Dubbi su alcuni utilizzi dei puntatori

di il
1 risposte

Dubbi su alcuni utilizzi dei puntatori

So cos'è un puntatore, ma non ho capito perché certe funzioni li richiedano per forza.
Ad esempio c'è questo semplice programma che ricava l'IP di un host solo dal nome:
int main(int argc, char *argv[]){
	struct hostent *host_info;
	struct in_addr *address;
	int x;
	
	for(x = 1; x < argc; x++){
		host_info = gethostbyname(argv[x]);
		
		address = (struct in_addr*) (host_info->h_addr);
	
		printf("%s\t%s\n", argv[x], inet_ntoa(*address));
	}
	
	
	return 0;
}
Ora, se della struct hostent io NON dichiaro una variabile di tipo puntatore, il programma mi restituisce un errore quando uso gethostbyname().
Perché è per forza richiesto un puntatore lì? (ovviamente non solo qui, ho preso questo esempio perché ci sto lavorando ora)

1 Risposte

  • Re: Dubbi su alcuni utilizzi dei puntatori

    Perché è per forza richiesto un puntatore lì?
    Semplice: perché la funzione restituisce un puntatore a una struttura allocata internamente.
Devi accedere o registrarti per scrivere nel forum
1 risposte