Hola, si lo que quieres es devolver una cadena tendras que hacer uso de los punteros de C, ya que, no se permite devolver arrays, con lo cual tu funcion deberia de quedar algo asi como:
char *DecimalToHex(unsigned int dec){
}
Para usarla pues tienes que declarar tambien una variable de tipo char * y le asignas el valor devuelto por la funcion y asi puedes acceder a cada uno de los elementos como si fuese un array de caracteres.
Un saludo.