Ciao a tutti, mi servirebbe una struttura dati di questo tipo

- un array di 20 elementi
- ogni elemento è un puntatore ad una struttura

Nel mio caso ho una lista di giocatori, stavo pensando di implementarla così:

Codice PHP:
struct persona {
    
int eta;
    
int peso;
};

struct persona persone[20]; // va bene così? 
ho fatto un programma di esempio, che aggiunge 2 persone:

Codice PHP:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main() {
    
struct persona {
        
int eta;
        
int peso;
    };

    
struct persona persone[20]; // va bene così?
    
int i;
    for (
i=0i<20i++)
        
persone[i] = NULL;

    
// allocazione dinamica di una persona
    
struct s p;
    *
malloc(sizeof(struct s));
    *
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
    
*malloc(sizeof(struct s));
    *
p.eta=50;
    *
p.peso=75;
    
persone[8] = p;

    
// stampa della lista delle persone
    
for (i=0i<20i++)
        if (
persone[i] == NULL)
            
printf("%2d\n"i);
        else
            
printf("%2d: eta=%d, peso=%d\n"ipersone[i].eta,  persone[i].peso);

    return 
0;

Il compilatore (gcc) mi dà tutti questi errori:

prova.c: In function 'main':
prova.c:22: error: incompatible types in assignment
prova.c:23: error: request for member 'eta' in something not a structure or union
prova.c:24: error: request for member 'peso' in something not a structure or union
prova.c:27: error: incompatible types in assignment
prova.c:28: error: request for member 'eta' in something not a structure or union
prova.c:29: error: request for member 'peso' in something not a structure or union
prova.c:36: error: request for member 'eta' in something not a structure or union
prova.c:36: error: request for member 'peso' in something not a structure or union
dove ho sbagliato?