Sono stato confuso con quello che vedo sulla maggior parte dei programmi C che ha una dichiarazione di funzione non familiare per me.Qual è la funzione di un asterisco prima del nome di una funzione?
void *func_name(void *param){
...
}
Che cosa implica la funzione per *
? La mia comprensione di (*
) in un tipo di variabile è che crea un puntatore a un'altra variabile, quindi può essere in grado di tenere traccia dell'indirizzo a cui quest'ultima variabile è memorizzata. Ma in questo caso di una funzione, non so cosa significhi questo asterisco *
.
Sarebbe una domanda molto interessante chiedere alla persona che ha scritto il codice perché inserisce l'asterisco accanto al nome della funzione, piuttosto che "void * func_name" o "void * func_name". Se riescono a trovare un ragionamento razionale perché, sarei colpito. – Lundin
Argomento razionale: perché siamo abituati a scrivere "int * a", quindi sembra più coerente fare lo stesso per le funzioni – Guillaume
In aggiunta a ciò che Guillaume ha scritto, la funzione è un puntatore che deve essere annullato. come con 'int * a' è un puntamento a un intero che non è di tipo intero-puntatore. – dhein