Dubbi su alcuni utilizzi dei puntatori

di Anonimizzato9099 il
1 risposte
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

  • 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