Buenas!
Los arrays son como "colecciones" de variables del mismo tipo, realmente se usan por comodidad, si tu por ejemplo necesitas almacenar 100 numeros enteros, no vas a crear 100 varibales de tipo int, para eso se utilizan los arrays, y esto se haria asi:
int x[99]
El indice (lo que esta entre corchetes) se utiliza para referirise a cada dato del array.
Por ejemplo:
Pongamos por caso que en el array declarado más arriba queremos guardar 100 numeros, del 0 al 99, los dos incluídos, pues cada indice representaria un valor:
x[0] = 0
x[1] = 1
Y asi con el resto de numeros. Si en cualquier punto del programa queremos acceder al numero 55,por ejemplo, pues seria asi:
x[55]
Saludos