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)