Em linguagens de programação, um array é uma forma de armazenar vários itens (tais como inteiros). Estes itens devem ter o mesmo tipo (apenas inteiros, apenas cordas, ...) porque um array não pode armazenar diferentes tipos de itens. Cada item de um array tem um número para que o programador possa obter o item usando esse número. Este número é chamado de índice. Em algumas linguagens de programação, o primeiro item tem índice 0, o segundo item tem índice 1 e assim por diante. Mas em outras linguagens, o primeiro item tem índice 1 (e depois 2, 3, ...).
Quando o programador cria uma matriz, eles devem dar o tamanho da matriz. Este é o número de itens que podem ser armazenados na matriz. Se o programador quiser armazenar mais itens, então eles devem criar um novo array. Isto porque o tamanho de um array não pode ser alterado. Os tipos de matrizes em C estão aqui