Dans cet article, vous trouverez des exemples pertinents qui vous aideront à travailler avec des pointeurs pour accéder aux données au sein d'une structure.
Une variable de pointeur peut être créé non seulement pour les types indigènes comme ( int
, float
, double
etc.) , mais ils peuvent également être créés pour les types définis par l'utilisateur comme structure.
Si vous ne savez pas ce que sont les pointeurs, visitez les pointeurs C ++.
Voici comment vous pouvez créer un pointeur pour les structures:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Ce programme crée un pointeur ptr de type structure temp.
Exemple: pointeurs vers la structure
#include using namespace std; struct Distance ( int feet; float inch; ); int main() ( Distance *ptr, d; ptr = &d; cout <> (*ptr).feet; cout <> (*ptr).inch; cout << "Displaying information." << endl; cout << "Distance = " << (*ptr).feet << " feet " << (*ptr).inch << " inches"; return 0; )
Production
Entrez les pieds: 4 Entrez les pouces: 3,5 Affichage des informations. Distance = 4 pieds 3,5 pouces
Dans ce programme, une variable pointeur ptr et une variable normale d de type structure Distance sont définies.
L'adresse de la variable d est stockée dans la variable pointeur, c'est-à-dire que ptr pointe vers la variable d. Ensuite, la fonction membre de la variable d est accessible à l'aide d'un pointeur.
Remarque: puisque le pointeur ptr pointe vers la variable d dans ce programme, (*ptr).inch
et d.inch
est exactement la même cellule. De même, (*ptr).feet
et d.feet
est exactement la même cellule.
La syntaxe pour accéder à la fonction membre à l'aide d'un pointeur est laide et il existe une notation alternative -> qui est plus courante.
ptr-> feet est identique à (* ptr) .feet ptr-> inch est identique à (* ptr) .inch