Во-первых, имейте в виду, что в C единственная реальная разница между «массивом символа» и «строкой» состоит в том, что вы должны быть строкой, в конце массива символа «char» ставится NUL-терминатор.
Предполагая, что вы хотите (например) создать массив типа int (или long, или что-то другое, кроме char), вы обычно берете остаток при делении на 10 и конвертируете его в цифру, добавляя '0' , Затем разделите число на 10 и повторяйте, пока оно не уменьшится до нуля. Это создает числа от наименее до наиболее значимых, поэтому вы обычно помещаете их в конец массива и возвращаетесь к началу.