Dereferencing "void *" pointer
Résolu/Fermé
calimero33160
Messages postés
31
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
18 avril 2012
-
15 avril 2012 à 00:24
calimero33160 Messages postés 31 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 18 avril 2012 - 16 avril 2012 à 16:48
calimero33160 Messages postés 31 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 18 avril 2012 - 16 avril 2012 à 16:48
A voir également:
- Dereferencing ‘void *’ pointer
- Void(0); - Forum Windows
- Void(0) - Forum Logiciels
- Document.body.contenteditable = 'true'; document.designmode='on'; void 0 ✓ - Forum HTML
- Int main(void) ✓ - Forum C++
- Makes pointer from integer without a cast ✓ - Forum C
4 réponses
p3t3r42
Messages postés
74
Date d'inscription
mardi 18 janvier 2011
Statut
Membre
Dernière intervention
2 février 2014
28
15 avril 2012 à 21:57
15 avril 2012 à 21:57
Bonjour,
En C, il me semble que les pointeurs dans ton tableau ne se mettent pas à NULL automatiquement, il est peut etre alors nécessaire de faire une (double) boucle for pour l'initialiser.
Etant donné que il s'agit de pointeur ne faudrait-il pas faire plutôt :
if((poisson*)t[i][j]->type==0)
En C, il me semble que les pointeurs dans ton tableau ne se mettent pas à NULL automatiquement, il est peut etre alors nécessaire de faire une (double) boucle for pour l'initialiser.
Etant donné que il s'agit de pointeur ne faudrait-il pas faire plutôt :
if((poisson*)t[i][j]->type==0)
calimero33160
Messages postés
31
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
18 avril 2012
15 avril 2012 à 22:29
15 avril 2012 à 22:29
Bonjour,
Tout d'abord merci de t'intéresser à mon problème.
J'ai malheureusement déjà une double boucle for qui initialise le tableau à NULL !
Mes structures sont en fait définies de cette manière :
typedef struct{
blablabla
}*poisson;
donc il ne me semble pas que je doive faire un cast en (poisson*), car (poisson) est déjà un pointeur...
Tout d'abord merci de t'intéresser à mon problème.
J'ai malheureusement déjà une double boucle for qui initialise le tableau à NULL !
Mes structures sont en fait définies de cette manière :
typedef struct{
blablabla
}*poisson;
donc il ne me semble pas que je doive faire un cast en (poisson*), car (poisson) est déjà un pointeur...
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
16 avril 2012 à 09:42
16 avril 2012 à 09:42
Salut.
Je ne vois pas de raison pour laquelle tu ne pourrai pas dereferencer un void*, c'est fait assez souvent.
Essai en protégeant avec des parenthèses :
((poisson)tab[0][0])->type;
Je ne vois pas de raison pour laquelle tu ne pourrai pas dereferencer un void*, c'est fait assez souvent.
Essai en protégeant avec des parenthèses :
((poisson)tab[0][0])->type;
calimero33160
Messages postés
31
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
18 avril 2012
16 avril 2012 à 16:48
16 avril 2012 à 16:48
Merci beaucoup, je n'avais pas fait gaffe à l'ordre de priorité entre -> et le cast en (poisson), j'ai donc rajouté des parenthèses comme tu me l'as dit, et ça fonctionne parfaitement :-)