Puntatori a struct

di il
3 risposte

Puntatori a struct

Sto costruendo un programma base per capire come funzionano struct e puntatori, per poi riportare le funzioni a membri di oggetti c++ (e in quello sono riuscito)
quando creo funzioni globali stile c il programma si blocca... è molto semplice come costruzione, solo non sono abilissimo coi puntatori , se riuscite a spiegarmi l'errore grazie grazie
#include <iostream>
struct secondo{
	int a;
};

void imposta(secondo* s, int c){ s->a = c; }
void stampa(secondo* s) { std::cout << s->a << "\n"; }

int main(){
	secondo* punt_secondo;
	imposta(punt_secondo,10);
	stampa(punt_secondo);
	system("pause");
}

3 Risposte

  • Re: Puntatori a struct

    Manca l'allocazione della struttura. Il puntatore alla struttura non punta ad una zona di memoria correttamente allocata.
  • Re: Puntatori a struct

    Intendi in fase di dichiarazione usare questa dicitura: secondo* punt_secondo=new secondo;
    Così funziona, grazie
  • Re: Puntatori a struct

    luigibana96 ha scritto:


    intendi in fase di dichiarazione usare questa dicitura: secondo* punt_secondo=new secondo;
    O in quel punto oppure dopo ... importante che si allochi la memoria prima di usare il puntatore.
    Così funziona, grazie
    Funziona perché è così che si fa ... non c'è altro modo ... di nulla ...
Devi accedere o registrarti per scrivere nel forum
3 risposte