Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. "Tipo" vetor
  2. Declarar um vetor
  3. Acessar/alterar elemento
  4. "Tipo" matriz
  5. Declarar uma matriz
  6. Acessar/alterar elementos

Vetor e matriz, estáticos, são tipos de dados derivados que armazenam dados de forma sequencial em memória. Nesta parte do tutorial vamos estudar um pouco mais a fundo esses tipos de dados.

O básico sobre esses tipos de dados já foram visto em C: Vetor e Matriz sendo a leitura recomendada.

Vetor e matriz de ponteiros e funções podem ser vistos em C Ponteiro: Vetor/Matriz de ponteiro e C Ponteiro: Ponteiro para função.

Existem outras formas para crição e operações com alocação de memória, mas esse assunto será visto em C: Alocação de Memória.

Na linguagem C podemos criar vetores estáticos a partir dos tipos de dados já estudados. Podemos enxergar um vetor como um local para armazenar variáveis de forma sequencial.

Tab. 1: Vetor de int
0 1 2 3 4 5 (...)
1 10 -100 0 2 - -

A declaração de um vetor na linguagem C é feita utilizando um tipo de dado desejado para uma variável e sua dimensão utilizando o indexado [].

Sintaxe
tipo_dado nome_vetor[<dimensao>] = {lista_valores}; //iniciado

tipo_dado nome_vetor[<dimensao>]; //não iniciado

tipo_dado nome_vetor[<dimensao>] = {valor}; //iniciados com mesmo valor

Um vetor com valores iniciados devem ter seus valores, baseados no tipo de dado utilizado, delimitados por { e }, separados por (,) e terminados com (;):

Sintaxe
tipo_dado nome_vetor[<dimensao>] = {valor1, valor2, ...};

Todos os tipos de dados podem ser utilizados para declaração de vetores na linguagem C como char, float , struct, ponteiros e etc.

C não permite que um vetor seja iniciada quando suas dimensões são baseadas em variáveis. Nesses casos, o vetor deve ser declarado sem valores iniciais.

O acesso aos elementos de um vetor é feita utilizando o seus índices passados como argumento para o indexador []. Ponteiros também podem ser utilizados, mas não serão abordados nesta parte do tutorial.

Sintaxe
nome_vetor[<indice>] = valor;

nome_vetor[<indice>];
Exemplo 1
#include <stdio.h>

void main()
{
    int vetor[2];
    vetor[0] = 1;
    vetor[1] = 2;
    printf("%d",vetor[0]);
}
Saída
1

Uma matriz é um vetor estático de duas dimensões ou vetor contendo vetores. Sendo assim, seus elementos são armazenados de forma sequencial, porém o acesso a esses elementos pode ser feito utilizando suas dimensões: linhas e colunas.

Uma matriz com as dimensões 3x3 pode ser representada na forma abaixo:

Tab. 2: Matriz de int
L/C 0 1 2
0 10 20 30
1 40 50 60
2 70 80 90

A declaração de uma matriz na linguagem C é feita utilizando um tipo de dado deseja para uma variável e suas dimensões entre [ e ].

Sintaxe
tipo_dado nome_matriz[<linhas>][<colunas>] = {lista_valores}; //iniciado

tipo_dado nome_matriz[<linhas>][<colunas>]; //não iniciado

tipo_dado nome_matriz[<linhas>][<colunas>] = {valor}; //iniciados com mesmo valor

Uma matriz com valores iniciados devem ter seus valores delimitados por { e }, separados por (,) e terminados com (;). Os valores para cadas linhas devem ser delimitados por { e }, separados por (,).

Sintaxe
tipo_dado nome_matriz[<linhas>][<colunas>] = {
                                          {valor1, valor2, valor3},
                                          {valor4, valor5, valor6},
                                          {(...)}
                                         };

Todos os tipos de dados podem ser utilizados para criação de vetores na linguagem C como char, float , struct e ponteiros.

A linguagem C não permite que uma matriz seja iniciada quando suas dimensões são baseadas em variáveis. Nesses casos, a matriz deve ser declarada sem valores iniciais.

O acesso aos elementos de uma matriz é feita utilizando o sua linha e coluna que são passadas como argumentos para o indexador []. Ponteiros também podem ser utilizados, mas não serão abordados nesta parte do tutorial.

Sintaxe
nome_matriz[linha][coluna] = valor; //atribuição

nome_matriz[linha][coluna]; //acesso
Exemplo 1
#include <stdio.h>

void main()
{
    int vetor[2][2] ={{1,2},{3,4}};
    vetor[0][0] = 1;
    vetor[1][0] = 2;
    printf("%d",vetor[1][0]);
}
Saída
2
  1. 03/09/2025 - revisão 4 - Ajustes: pontuais, sintaxes e objetivos
  2. 11/03/2025 - revisão 3 - Ajuste em intro
  3. 08/10/2024 - revisão 2 - Ajustes pontuais
  4. 28/09/2023 - revisão 1 - Correção em referências, erros gramaticais e sintaxe
  5. 19/05/2023 - versão inicial