Por lo ke entendi quieres pasar un numero a una cadena. El problema mayor que podrias tener es reservar un espacio de memoria suficiente para guardar la cadena, lo demas es trivial.
Si tu numero como maximo es mil basta con que hagas un array de 5 chars:
char array[5]; /*un elemento mas para el caracter nulo*/
array[5]='0'; /*con eso indicas fin de cadena*/
Luego haces una iteracion, en cada vuelta debes ir dividiendo el numero por 10 y colocando el resto de la division en array[4], arra[3], array[2] etc, la conversion de int a char es tirivial igual, solo necesitas un switch o un conjunto de if de la forma:
if (resto==4) char=='4';
Haces las condiciones para todos los numeros de 0 a 9, y eso es todo. Si kieres algo mas completo puedes hacer un puntero a char y reservarle memoria con malloc, asi puedes pasar cualkier numero sin importar su largo de digitos. Tambien podrias establecer una relacion entre el numero ascii de los digitos y los numeros, creo que el ascii del '0' es 48, entonces tomas el digito y le sumas 48 y lo guardas en el char y tendras el ascii correspondiente al digito, como los chars de 0 a estan consecutivos en la tabla ascii funciona.