Du kannst in C ein Array nicht direkt als Rückgabewert einer Funktion verwenden.
Die gängige Lösung ist eigentlich, einen Zeiger auf das Array zurückzugeben.
Dafür solltest Du Dich aber mit Zeigern auskennen.

Allerdings stellt Dir die C-Bibliothek schon eine Funktion zur Verfügung, die genau das kann, was Du mit dieser Funktion machen möchtest...

Code:
#include <stdio.h>

uint8_t Stunden;
uint8_t Minuten;
uint8_t Sekunden;

char Uhrzeit[9];

// Hier kommt die Berechnung der Uhrzeit hin
...

printf(Uhrzeit,"%02u:%02u:%02u",Stunden,Minuten,Sekunden);
Siehe auch http://www.mikrocontroller.net/artic...ntf_und_printf
und http://home.htw-berlin.de/~junghans/cref/FUNCTIONS/format.html

Gruß,
askazo