English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este artículo, encontrará ejemplos relacionados que le ayudarán a usar punteros para acceder a los datos dentro de la estructura.
PunteroLas variables no solo pueden crearse para tipos de datos nativos (int, float, double, etc.), sino también para tipos de datos definidos por el usuario (comoEstructura) crear.
Si no sabe lo que es un puntero, por favor visiteC ++Puntero.
Esta es la forma de crear un puntero de estructura:
#include <iostream> using namespace std; struct temp { int i; float f; }; int main() { temp *ptr; return 0; }
Este programa crea un puntero de tipo de estructura temp llamado ptr.
#include <iostream> using namespace std; struct Distance { int feet; float inch; }; int main() { Distance *ptr, d; ptr = &d; cout << "Ingrese pies: "; cin >> (*ptr).feet; cout << "Ingrese pulgadas: "; cin >> (*ptr).inch; cout << "mostrar información" << endl; cout << "distancia = " << (*ptr).feet << " pies " << (*ptr).inch << " pulgadas"; return 0; }
Resultado de salida
Ingrese pies: 4 Ingrese pulgadas: 3.5 mostrar información distancia = 4 pies 3.5 pulgadas
El programa define el tipo de estructura Distance, que tiene variables de puntero*ptr y la variable común d.
La dirección de la variable d se almacena en el variable de puntero, es decir, ptr apunta a la variable d y luego se accede a las funciones de miembros de la variable d mediante punteros.
Nota:Dado que el puntero ptr en este programa apunta al variable d, por lo tanto (* ptr).inch y d.inch son unidades completamente iguales. Del mismo modo, (* ptr).feet y d.feet son unidades completamente iguales. Del mismo modo, (
La sintaxis para acceder a las funciones de miembros con punteros es muy fea, pero hay un símbolo de sustitución más común->.
ptr->feet es equivalente a (*ptr).feet ptr->inch es equivalente a (*ptr).inch