Ich verstehe nicht, wo da jetzt die Frage sein soll. Es gibt keine einfachere Möglichkeit sowas in C zu machen.
Wenn du später auch auf die Namen zugreifen willst, so musst du dich dann wohl oder übel auch um die Speicherverwaltung kümmern.
Als Beispiel dafür verweise ich nochmal auf meinen Code: #1182907 - Pastie