Je suis assez sûr que la réponse à cette question est «non, ne sois pas stupide», mais comme on dit, il n'y a pas de questions stupides (seulement des gens stupides qui leur demandent).Possibilité de lancer vers un pointeur de type donné déterminé à l'exécution en C?
Je souhaite calculer le décalage d'un tableau. J'ai un void *
gérer et le sizeof(element)
. Je n'ai pas de pointeur x*
(où x
est le type de l'élément).
Y at-il un moyen de transformer le pointeur void *
en pointeur donné pour que je puisse faire de l'arithmétique de pointeur en fonction de cette taille? Au moment où je lance à un char *
(en supposant un char
est 1 octet *), puis en multipliant la valeur sizeof par le décalage. Si je pouvais en quelque sorte lancer le pointeur, alors je pourrais juste utiliser la syntaxe du tableau, qui serait plus propre. Comme je l'ai dit, je suis sûr à 99% que ce n'est pas possible et je demande essentiellement une représentation de type langage que C n'a pas. Mais vaut une demande.
* Et je préfère ne pas parce que ce n'est pas toujours vrai.
'sizeof (char)' est toujours 1, c'est garanti. – sth
J'ai lu quelque part que ce n'était pas le cas. – Joe
@Joe: c'est garanti par la norme que c'est. –