Neste artigo, você encontrará exemplos relevantes que o ajudarão a trabalhar com ponteiros para acessar dados dentro de uma estrutura.
Uma variável de ponteiro pode ser criado não só para tipos nativos gosto ( int
, float
, double
etc.), mas também pode ser criada para o usuário tipos definidos como estrutura.
Se você não sabe o que são ponteiros, visite ponteiros C ++.
Aqui está como você pode criar um ponteiro para estruturas:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Este programa cria um ponteiro ptr do tipo estrutura temp.
Exemplo: ponteiros para a estrutura
#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; )
Resultado
Insira pés: 4 Insira polegadas: 3,5 Exibindo informações. Distância = 4 pés 3,5 polegadas
Neste programa, uma variável de ponteiro ptr e uma variável normal d de estrutura de tipo Distance são definidas.
O endereço da variável d é armazenado na variável ponteiro, ou seja, ptr está apontando para a variável d. Então, a função-membro da variável d é acessada usando um ponteiro.
Nota: Desde ponteiro ptr está apontando para variável d neste programa, (*ptr).inch
e d.inch
é exatamente o mesmo celular. Da mesma forma, (*ptr).feet
e d.feet
é exatamente a mesma célula.
A sintaxe para acessar a função de membro usando o ponteiro é feia e há uma notação alternativa -> que é mais comum.
ptr-> pés é o mesmo que (* ptr). pés ptr-> polegada é o mesmo que (* ptr) .inch