Ordenação de Array bidimensional de strings

Ola pessoal, estou realizando uma atividade que tem como objetivo : Fazer um programa que leia uma lista de nomes, terminada por “\0” e ordene os nomes da lista e apresente-os.

Fiz uma matriz (nomes[ ][ ]) para guardar os nomes digitados, mas estou tendo dificuldade em ordenar essa matriz.Tem algum método fácil no C para fazer essa ordenação?

A logica que cheguei até então foi :

1-Verificar se a primeira letra de cada linha da matriz é maior que a outra.
Ex : IF(nomes[0] [1] >nomes[0][2])

2- A partir disso colocar em outros dois vetores os nomes.
EX: vet1[i]=nomes[ i ][ j ] vet2[i]=nomes[ i ][ j ]

3- Depois colocar o conteúdo desses vetores dentro da matriz de forma ordenada.

Mas eu não sei se esse método é o mais certo a se utilizar !! Tem outros jeitos ???

Existe a função strcmp no arquivo string.h

Há exemplos de uso no link…