Salve, ho da poco cominciato a studiare i puntatori e mi ritrovo in difficoltà nel realizzare un programma con puntatori a strutture. La cosa che non mi è ben chiara è che: dopo aver definito un puntatore (in questo caso p), quest'ultimo non dovrebbe puntare alle informazioni che riceve? O sbaglio?
#include <iostream>
using namespace std;
//Dichiarazione struct
struct informazioni
{
char nome[20];
int eta;
float altezza;
float peso;
}persona;
//PROTOTIPI
void input_informazioni(informazioni* p);
void visualizza_informazioni(informazioni* p);
//PROGRAMMA
void input_informazioni(informazioni* p)
{
p = &persona;
cout << "Inserisci il tuo nome:"; cin >> p->nome;
cout << "Inserisci la tua eta:"; cin >> p->eta;
cout << "Inserisci la tua altezza:"; cin >> p->altezza;
cout << "Inserisci il tuo peso:"; cin >> p->peso;
}
void visualizza_informazioni(informazioni* p)
{
cout << "Nome:" << p->nome << endl;
cout << "Eta:" << p->eta << endl;
cout << "Altezza:" << p->altezza << endl;
cout << "Peso:" << p->peso << endl;
}
int main(void)
{
void input_informazioni(informazioni* p);
void visualizza_informazioni(informazioni* p);
}
Il programma non parte, ovvero spunta la scritta "Premere un tasto per continuare". Sapete dirmi cosa sbaglio? Grazie in anticipo