Prima di tutto non quotare tutta la risposta ogni volta, non si fa nei forum.
Poi, come ti ho detto, il fatto che tu stia cominciando ora si è capito e per questo devi studiare ancora prima di continuare a scrivere codice. Forse non mi sono spiegato, questo programma va oltre le tue possibilità attuali e non puoi chiedere dove va questo o quello perché non sapresti utilizzare le risposte e ti bloccheresti subito dopo.
L'array delle carte probabilmente dovrebbe essere allocato nel main e il puntatore passato alle funzioni che lo utilizzano. E come ti ho già detto la free si fa quando l'array non serve più, probabilmente per quello che vuoi fare nel mail prima di terminare l'esecuzione.
Ripeto, studia prima di scrivere codice perchè nessun mago ti può aiutare a meno di non scrivere tutto il programma al posto tuo.