Per me il c è abbastanza misterioso, adesso ho fatto questa prova. Vedere il listato sotto.
in questo modo ho creato una struttura dinamica?
il modo di accedervi penso sia corretto, l'ho trovato su un libro.
Ho però, questa domanda:
la malloc non sa che stà creando una struttura, la malloc crea solo uno spazio di memoria contiguo, sizeof restituisce un numero....ma allora come è possibile accedere ai campi?? Il compilatore come fa a sapere questa informazione?
codice:
#include <stdio.h>
int main()
{
struct s{
char ch;
int i;
double f;
};
struct s *p;
p = (struct s*)malloc(sizeof(struct s));
p->i = 19;
printf("%d", p->i);
getch();
return 0;
}