Merci beaucoup à tous,
je regarderai tous ca lundi car la je suis plus au bureau lol
merci encore et bon week end
Merci beaucoup à tous,
je regarderai tous ca lundi car la je suis plus au bureau lol
merci encore et bon week end
Tu as vu une adresse quelque part ?Envoyé par EnigmuS
Arrête de faire n'importe quoi et réfléchi...
Le problème n'est pas qu'il y ai une adresse quelque part mais de caster le type void en int/long/double en filoutant (cast de void * et long * etc...) je sais que c'est trés moche Emmanuel pas besoin d'enfoncer le clous lool
alors si tu sais contourner ce type d'écriture en C je t'en prie mais j'ai vraiment besoin d'avoir le type réel dans ce tableau car sinon dans mon asm il considére ca comme un pointeur et me fait un General Protection fault alors qu'avec tabgen[i]= (long *)(atol(tabE[i])); il m'affiche le bon résultat.
J'aimerais contourner ca et apparemment c'est possible en C99 mais y aurait-il moyen d'avoir plus d'explication sur intptr_t, j'ai cherché d'autre example mais j'avoue ne pas bien comprendre. intptr_t est un entier signé pouvant stocker un pointeur mais j'arrive pas a voir ou ca empeche de faire ce qui a plus haut arf
Merci d'avance.
Un type void* est un pointeur sur n'importe quel objet. Ce n'est pas un objet qui peut contenir n'importe quoi.Envoyé par EnigmuS
Par exemple :
est correct mais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void *p = malloc (sizeof (double)); double *pd = p; *pd = 12.34; ... free (p), p = NULL, pd = NULL;
est non seulement faux (comportement indéfini), mais totalement illogique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part void *p = (void*) 12.34;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager