Pointeurs C ++ vers la structure

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, doubleetc.) , 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).inchet d.inchest exactement la même cellule. De même, (*ptr).feetet d.feetest 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

Articles intéressants...