Ora neache a me dà errori, avevo dimenticato il prototipo della funzione.
ho fatto questi 2 esperimenti che mi sembrano significativi.
Creo una struttura interna a una funzione, nel primo caso con struct e nel secondo caso con malloc e poi la fnx ritorna un puntatore.
Nel primo caso richiamando la funzione piu volte ottengo sempre lo stesso indirizzo. Con la malloc ogni volta restituisce indirizzi diversi.
Ho anche provato a restituire array per valore, ma non ho avuto successo :bubu:
codice1
codice:
#include <stdio.h>
struct a{
int val1;
int val2;
};
struct a *funx01(){
struct a struttura;
struttura.val1 = 12;
return &struttura;
}
int main()
{
printf("%d\n", funx01());
printf("%d", funx01());
getch();
return 0;
}
codice2
codice:
#include <stdio.h>
struct a{
int val1;
int val2;
};
struct a *funx01(){
struct a* p = (struct a*) malloc(sizeof(struct a));
p->val1 = 12;
return p;
}
int main()
{
printf("%d\n", funx01());
printf("%d", funx01());
getch();
return 0;
}