Resumen
Crear el código necesario en C para invertir un arreglo o array, usando ciclos y una variable temporal, sin usar arreglos extra.
Nota: en otro post te mostré cómo invertir una cadena en C.
Arrays en C

Los arrays en C son de una longitud fija, y por lo tanto no podemos crear un arreglo en tiempo de ejecución y llenarlo con los otros datos (aunque se podría con una pila dinámica) pero podemos usar un ciclo for y una variable temporal.
Algoritmo para invertir un arreglo
Recorremos el arreglo desde 0 hasta la mitad de su longitud, declaramos una variable temporal fuera del ciclo, y también una que irá aumentando en cada iteración (el índice).
Después hacemos la asignación de:
temporal = arreglo[índice]
arreglo[índice] = arreglo[longitud - x - 1]
arreglo[longitud - x - 1] = temporal
Es decir, en la temporal guardamos el valor de la izquierda del arreglo, y en el extremo derecho guardamos lo que había en el izquierdo.
Estamos restando 1
a x
y a longitud
porque recuerda que los arreglos comienzan en 0, y que el último elemento está en longitud - 1
.
Código para invertir arreglo en C
Después de haber explicado el algoritmo veamos el código que invierte un array en C: