Originariamente inviato da MacApp
Ingloba il codice che mandi tra i tag (sostituendo al posto delle graffe le quadre)
{code} {/code} o {php}{/php}, altrimenti è difficile leggere "al volo" il codice.
Meglio poi se il codice è compilabile.

Tre piccoli consigli:
1. Se vuoi creare una funzione che alloca dinamicamente una struttura di tipo SElenco ti consiglio il seguente prototipo:
Codice PHP:
SElenco NewSElenco (parametri vari di inizializzazione); 
Non chiamarla "Alloca" perché in alcuni sistemi operativi "alloc" viene usato per allocare dinamicamente nello stack anziché nell'heap.

EDIT: in particolare se NewSElenco non riesce ad allocare la struttura, restituirà NULL al chiamante.

2. Inizializza a NULL i puntatori, ad esempio (dal tuo codice):
Codice PHP:
ELENCO *Index NULL/* not always necessary, but it will save me lot of debugging */ 
3. Gli identificatori tutti MAIUSCOLOSI in C sono solitamente delle define, delle costanti, non usarli per le strutture.

Una nota positiva:
Ottimo il fatto che controlli (ma non sempre) i valori restituiti da malloc e realloc;

EDIT 2: considera anche che poi tutto quello che allochi dinamicamente, lo devi "disallocare".
grazie per i consigli
riguardo la funzione Rialloca dove uso la realloc dici che va bene?