Estás equivocado.
En cuánto declaras, por ejemplo int array[1], estás diciendo que quieres un array de 1 elemento, y tal y como cuenta C sólo es válido el elemento array[0].
Si quisieras un elemento array[1] ya son 2 elementos que se deben poder guardar, el array[0] y array[1], por lo que deberías declararlo como int array[2].
En cuánto declaras, por ejemplo int array[1], estás diciendo que quieres un array de 1 elemento, y tal y como cuenta C sólo es válido el elemento array[0].
Si quisieras un elemento array[1] ya son 2 elementos que se deben poder guardar, el array[0] y array[1], por lo que deberías declararlo como int array[2].