Bonjour
J'ai quelques declarations de pointeurs que j'arrive pas a comprendre l'utilite
int ( *p1) [100];
int (*p2[6]) ();
int ( **p3[7]) ();
int ** p4[4] ();
Tout comentaire est le bienvenu
![]()
Bonjour
J'ai quelques declarations de pointeurs que j'arrive pas a comprendre l'utilite
int ( *p1) [100];
int (*p2[6]) ();
int ( **p3[7]) ();
int ** p4[4] ();
Tout comentaire est le bienvenu
![]()
p1 est un pointeur sur un tableau de 100 entiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int ( *p1) [100]; int (*p2[6]) (); int ( **p3[7]) (); int ** p4[4] ();
p2 est un tableau de 6 pointeurs de fonction renvoyant un entier.
p3 est un tableau de 7 pointeur sur pointeur de fonction renvoyant un entier.
p4 est invalide.
1) Est-ce queest equivalent a
Code : Sélectionner tout - Visualiser dans une fenêtre à part int ( *p1) [100];2) Est-ce qu'il ya un cas d'utilisation ou on a besoin de declarer un tableau de pointeur dur pointeur de fonctions
Code : Sélectionner tout - Visualiser dans une fenêtre à part int * p1;
Code : Sélectionner tout - Visualiser dans une fenêtre à part int ( **p3[7]) ();
- Non. Typiquement, p1+1 n'aura pas la même valeur selon les déclarations...
- Pas à ma connaissance. Mais si j'avais besoin de faire ça, j'utiliserais des typedefs pour m'y retrouver...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager