Comment passer des paramètres à un thread en c multithreading correctement

Je suis en train d'apprendre le C multithreading, et j'ai vu un couple de choses rares.

Je comprends que le passage de paramètres à un thread doit être fait avec des pointeurs. J'ai trouvé un exemple qui, je ne comprends pas. Je vais copier les lignes:

pthread_t tid[MAX_THREADS]
int n_veg
pthread_create(&tid[n],NULL,caracter,(void *)n_veg)

caractère est évidemment un predeclared fonction.

Maintenant, pourquoi avons-nous utiliser un pointeur void casting au lieu d'un int pointeur de casting? Est-il pertinent différence?

Deuxièmement, pourquoi utiliser un pointeur de casting en premier lieu? Ne pouvons-nous pas utiliser "&n_veg" comme avec le premier paramètre?

Merci d'avance.

OriginalL'auteur bluehallu | 2010-11-19