Originariamente inviato da COMANDANTE SPACE
1)per fare il tutto in c++ sono indispensabili stdlib.h e time.h (stdio.h lo cambio con iostream.h)?
Sì. Per l'I/O, scegli quello che vuoi, se sei in C++ puoi usare le classi specifiche per l'I/O (es. cout).

Originariamente inviato da COMANDANTE SPACE
2)typedef struct{/*qualcosa*/} NOMEARBITRARIO; è identico al struct NOMEARBITRARIO {/*qualcosa*/}; che sono abituato a usare?
Sì, con una piccola differenza.
struct NOME { ... };
dichiara una struttura di nome NOME. Ogni volta che devi dichiarare una variabile di questa struttura devi mettere:
struct NOME var_a;
struct NOME var_b;
ecc...

Usando:
typedef struct { ... } NOME;
basta poi usare:
NOME var_a;
NOME var_b;

Insomma, il typedef crea un nuovo tipo.

Originariamente inviato da COMANDANTE SPACE
3)for (e->size--; i < e->size; i++) una roba del genere non l'avevo mai vista...il primo parametro(non si chiama parametro, ma sinceramente non conosco il nome corretto) del for non dovrebbe essere l'elemento da confrontare,cioè i, che è anche quello su cui agisce il terzo parametro? cioè io al posto di e->size-- potrei metterci una cosa qualunque,chessò int boh=2222222;?
In generale il for ha questa sintassi:
codice:
for (inizializzazione ; condizione ; incremento)
   istruzione/i
Quello che si mette nelle 3 espressioni ... sono affari del programmatore.
Potresti anche fare:
codice:
for (;;)
    istruzione
Che equivarrebbe a un ciclo infinito.