# Programar em C/Vetores
## Vetores

Vetores, também chamados arrays (do inglês) ou arranjo ou ainda matrizes, são uma maneira de armazenar vários dados num mesmo nome de variável através do uso de índices numéricos. Em C, vetores devem sempre conter dados do mesmo tipo de variável.
Declaramos vetores de maneira muito semelhante à declaração de variáveis normais. A única diferença é que depois do nome da variável deve ser informada a quantidade de elementos do vetor. Para declarar um vetor chamado vetor, com cinco elementos inteiros, escrevemos:
Note que a quantidade de elementos de um vetor não pode ser alterada depois que o vetor for declarado. Para criar vetores de tamanho dinâmico, podemos usar ponteiros, que serão abordados mais adiante.
Da mesma maneira que podemos inicializar uma variável junto com sua declaração, podemos usar as chaves () para inicializar um array.
Para fazer referência a um valor de um elemento contido em um vetor, usamos a notação vetor[índice], que serve tanto para obter quanto para definir o valor de um elemento específico, dada sua posição. Note que os elementos são numerados a começar do zero, e, portanto, se o número de elementos é $N$, o índice ou posição do último elemento será $N-1$.
Repare em que a última linha contém um erro: ela referencia um elemento do vetor que não existe. No entanto, o compilador não se recusará a compilar esse código; dará apenas um aviso. Se essa linha for executada, a variável y receberá um valor que não tem nada a ver com o vetor.

### Abreviando as declarações

Ao inicializar um vetor com vários valores, pode ser trabalhoso contar todos os valores para colocar o tamanho do vetor na declaração. Por isso, em C podemos omitir o número de elementos quando os valores são inicializados; o tamanho do vetor será o número de valores inicializados. Por exemplo, as duas notações abaixo são equivalentes:

### Exemplo de Aplicação de Vetores

O código abaixo é de um programa que recebe 5 números inteiros e informa qual destes é maior.

## Vetores multidimensionais (matrizes)

Podemos declarar ainda mais variáveis
Atenção que:
* Índice mais à direita varia mais rapidamente que o índice à esquerda.
* Não esquecer os índices variam de zero ao valor declarado menos um.
Podemos ter ainda conjunto de variáveis multidimensionais.
onde a iniciação é:
Podemos, em alguns casos, inicializar matrizes das quais não sabemos o tamanho a priori. O compilador C vai, neste caso verificar o tamanho do que você declarou e considerar como sendo o tamanho da matriz. Isto ocorre na hora da compilação e não poderá mais ser mudado durante o programa
Uma tabela de inteiros positivos de duas dimensão (3 linhas, 4 colunas ) se definiria da seguinte forma:
Suponha que o primeiro índice é o índice da linha e o segundo da coluna . Então teríamos:
| Tabela[0][0] | Tabela[0][1] | Tabela[0][2] | Tabela[0][3] |
| Tabela[1][0] | Tabela[1][1] | Tabela[1][2] | Tabela[1][3] |
| Tabela[2][0] | Tabela[2][1] | Tabela[2][2] | Tabela[2][3] |
Exemplo da inicialização de um vetor multidimensional usando loops.

## Argumentos na função main

Na seção Funções, dissemos que a função main aceita dois argumentos, mas não falamos mais pois um deles envolve o conceito de vetores. Agora iremos falar mais sobre eles.
Os dois argumentos de main indicam os argumentos dados para o programa na linha de comando, na forma de um vetor de strings.