crei un'array di char*
ti cicli il primo ... leggi il numero ... acquisci il testo ... inizializzi con malloc lo spazio per la memoria necessari, lo azzero con memset e per finire fai un bel memcpy dalla stringa const come parametro al valore di destinazione
nota: ricordati di disallocare tutti questi valori
nota2: per farlo in automatico registra una funzione con atexit e invece di chiamare malloc richiami un'altra funzione, ad es my_malloc che oltre a chiamare il malloc e restituire il risultato si segna in una lista il puntatore da liberare all'uscita
nota3: probabilmente ci sono sistemi migliori per creare la stringa, ad es se sono valori prefissati e non troppo lunghi puoi benissimo inizializzare un array di char con dimensioni predefinite specifiche ... butti un sacco di memoria ma molto + facile da fare