Usavi
struct s * p;
ma la struttura 's' non era dichiarata.
codice:
#include <stdlib.h>
#include <stdio.h>
struct persona
{
int eta;
int peso;
};
int main()
{
struct persona *p, *persone[20];
int i;
for (i=0; i<20; i++)
persone[i] = NULL;
// allocazione dinamica di una persona
p = (struct persona*)malloc(sizeof(struct persona));
p->eta=20;
p->peso=65;
persone[5] = p; // così il 5° elemento dell'array punta alla persona creata
// stessa cosa ma aggiungo una nuova persona all'8° elemento
p = (struct persona*)malloc(sizeof(struct persona));
p->eta=50;
p->peso=75;
persone[8] = p;
// stampa della lista delle persone
for (i=0; i<20; i++)
if (persone[i] == NULL)
printf("%2d : NULL\n", i);
else
printf("%2d : eta=%d, peso=%d\n", i, persone[i]->eta, persone[i]->peso);
return 0;
}