Qua dice di passargli lo struct normalmente,come fosse una normale variabile,ma se poi lo modifico le modifiche restano anche fuori dalla funzione?
Per questo tentato di passargli un puntatore.
Comunque ho provato a fare un programma che per ora lascia inserire solo una nota,mi da errore nell' ultima riga:"espected declaration before '{' token".
Ecco il codice:
codice:
#include"ramy.h"
typedef enum day{DOMENICA,LUNEDI,MARTEDI,MERCOLEDI,GIOVEDI,VENERDI,SABATO};
typedef enum month{GENNAIO,FEBBRAIO,MARZO,APRILE,MAGGIO,GIUGNO,LUGLIO,AGOSTO,SETTEMBRE,OTTOBRE,NOVEMBRE,DICEMBRE};
typedef struct data
{
month mese;
day giorno;
char *nota;
struct data *ptr;
};
void inseriscinota(data);
int main ()
{
data oggi;
inseriscinota(oggi);
printf("%s",oggi.nota[0]);
return 0;
}
void inseriscinota(data dd)
{
dd.giorno=LUNEDI;
dd.mese=OTTOBRE;
char a;
int i;
dd.nota=(char*)malloc(sizeof(char));
for(i=1;i<1000;i++)
{
dd.nota=(char*)realloc(dd.nota,i*sizeof(char));
if(a==0)
{
printf("Allocazione fallita");
i=999;
}
dd.nota[i-1]=getchar();
if(dd.nota[i-1]==10)
i=999;
i++;
}
}
}