si oppure utilizzi la parola chiave static
Dichiarando static una variabile (in una funzione) non fai nientaltro che dire al compilatore che sebbene sia una variabile locale, deve trattarla come una variabile gloabale (a livello di "esistenza") ... In poche parole la variabile s viene creata alla prima chiamata della funzione e distrutta (automaticamente) alla fine del programmacodice:int* func( int b ) { static int s; s = b; return &s; }