Eh merde... je m'en doutais.... alors je fais comment pour récupérer ce p**ain de pointeur en plein milieu de mon tableau ? J'ai essayé de fooler le compilo avec diverses écritures hier soir, sans y arriver :/
Mais le cast en char* reste obligatoire, ça se déréférence par un void* ... Bref, ça reste pas splendide...
Oui, je m'en suis rendu compte à la relecture, donc j'ai pas galéré dessus. bizarement ça m'a sauté aux yeux, alors que j'y ai même pas pensé quand j'ai écrit...
bah teste mais tu verrais quoi comme différence a part que tu peux pas deref un void*?
ma remarque vaut surtout que x+3 pointe 3 octets après x , que x soit un char* ou un void*.
Justement, je sais que ça semble marcher en pratique, mais je ne sais pas si c'est garanti par le standard C.
Du point de vue logique c'est un peu embêtant : si tu fais pointeur += 3, le pointeur est censé avancer de (3 * taille du type de pointeur) octets. Or void ne représente justement aucun type en particulier...

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT Turboj'ai vraiment la flemme de ressortir le doc ISO C89 ou 99 (chaipa) mais il me semble qu'il mentionne que sizeof(void) = 1 quand on s'en sert comme pointeur.
en cherchant vite ça semblerait être une extension gcc... merdalors.
bon, m'en fous, j'utilise que gcc , mais c'est bon a savoir.
C'est une extension GCC, en effet.
L'utiliser ou pas est une question de goût - personnellement, je n'aime pas, et c'est une introduction gratuite d'importabilité bien connue entre compilos.