idéalement on ferait un tableau de NB_THREAD int.
Et tu penses qu'on fait quoi? pthread_create () est une fonction POSIX, et POSIX est aligné sur le standard C99.
Version imprimable
Bon,
Je reconnais que le premier post cité est erroné :oops:, j'avais mal compris.
Chaque machine à sa représentation du pointeur null pour chaque type, qui n'est pas forcément zéro.
C'est le compilateur qui fait la traduction quand il reconnaît être dans un contexte de pointeur (avec la valeur 0) ou quand cela est explicité (ex : void*).
De plus on ne sait pas ce qui arrive quand on caste d'un entier vers un pointeur et vice-versa (ce qui est fait ici lorsque l'on passe en paramètre i) et on risque de ne pas "retomber nos pattes" (ici retrouver la valeur de i).
Cela marche apparemment pour gcc/Linux/x86, mais il peut en être autrement.
Cela dit, le problème dans son code venait de la gestion de ses verrous.
http://www.lysator.liu.se/c/c-faq/c-1.html