Programação C · 4 min read · Nov 19, 2025
Tutorial de Programação em C no Linux Parte 24 - Arrays Multidimensionais

Se você está acompanhando esta série de tutoriais de programação em C, deve estar ciente do conceito de arrays. Para refrescar rapidamente, arrays são usados para armazenar múltiplos valores do mesmo tipo em um armazenamento contínuo.
Arrays multidimensionais em C
Por exemplo, o seguinte é um array de inteiros capaz de armazenar 5 números.
int arr[5]Qualquer valor armazenado em um array pode ser acessado facilmente usando o nome do array e o valor do índice correspondente. Como os índices começam em 0, digamos que se você quiser acessar o segundo elemento em um array, você pode fazer isso da seguinte maneira:
arr[1]O seguinte programa aceita 5 inteiros do usuário como entrada, os armazena em um array e, em seguida, os exibe de volta ao usuário.
#include
int main()
{
int arr[5],i;
printf("Digite 5 valores inteiros\n");
for(i=0;i<5;i++)
scanf("%d",&(arr[i]));
printf("Você digitou os seguintes valores:\n");
for(i=0;i<5;i++)
printf("%d\n",arr[i]);
return 0;
} Agora, esse tipo de array é conhecido como um array unidimensional. Sim, isso significa que também existem arrays multidimensionais - arrays bidimensionais, arrays tridimensionais e assim por diante. Por exemplo, o seguinte é um array bidimensional:
int arr[2][3]Você pode visualizar esse array como uma tabela 2-D de números com 2 linhas e 3 colunas - algo como o seguinte:
x x x
x x x Então, há um total de 6 elementos que esse array pode conter. Vale a pena mencionar que o número total de elementos que um array pode conter pode ser facilmente calculado multiplicando os índices na declaração do array. Por exemplo, no caso de ‘arr’, a capacidade do array pode ser calculada fazendo 2x3, que é igual a 6.
Chegando à parte da inicialização, um array 2-D como ‘arr’ pode ser inicializado da seguinte maneira:
int arr [2][3] = {1,2,3,4,5,6}Como essa inicialização acima torna difícil visualizar esses valores em um array 2-D, há outra (leia-se: melhor) maneira que você pode optar. Aqui está:
int arr [2][3] = { {1,2,3}, {4,5,6} };Então agora é fácil visualizar que os números 1,2,3 estão em uma linha, enquanto 4,5,6 estão na outra. Aqui está:
1 2 3
4 5 6Quanto a como lidar com um array 2-D em C, o seguinte é um pequeno programa que aceita esses 6 valores do usuário, os armazena em um array 2-D ‘arr’ e, finalmente, os exibe de volta ao usuário:
#include
int main()
{
int arr[2][3],i,j;
printf("Você está prestes a inserir valores para um array 2x3\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("\n Digite o valor a ser armazenado na linha %d e coluna %d :: ",i,j);
scanf("%d",&arr[i][j]);
}
}
printf("\n Você digitou os seguintes valores:\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("\n Linha %d e coluna %d = %d\n",i,j,arr[i][j]);
}
}
return 0;
} E aqui está a saída:
Você está prestes a inserir valores para um array 2x3
Digite o valor a ser armazenado na linha 0 e coluna 0 :: 1
Digite o valor a ser armazenado na linha 0 e coluna 1 :: 2
Digite o valor a ser armazenado na linha 0 e coluna 2 :: 3
Digite o valor a ser armazenado na linha 1 e coluna 0 :: 4
Digite o valor a ser armazenado na linha 1 e coluna 1 :: 5
Digite o valor a ser armazenado na linha 1 e coluna 2 :: 6
Você digitou os seguintes valores:
Linha 0 e coluna 0 = 1
Linha 0 e coluna 1 = 2
Linha 0 e coluna 2 = 3
Linha 1 e coluna 0 = 4
Linha 1 e coluna 1 = 5
Linha 1 e coluna 2 = 6Então, isso foi algumas informações básicas sobre arrays bidimensionais. E quanto aos arrays 3-D? Bem, na mesma linha, você pode definir e inicializar arrays tridimensionais também. Aqui está um exemplo:
int arr[2][3][4]Então, como alguém poderia visualizar esse array? Bem, pense em um mundo tridimensional (o mundo em que vivemos) e, em seguida, visualize três dimensões perpendiculares entre si. É assim que as três dimensões desse array se encaixam.
Com uma capacidade de 24 elementos (2x3x4), esse array pode ser inicializado da seguinte maneira:
int x[2][3][4] =
{
{ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} },
{ {13,14,15,16}, {17,18,19,20}, {21,22,23,24} }
};E aqui está um programa C que utiliza um array 3-D:
#include
int main()
{
int arr[2][3][4],i,j,k;
printf("Você está prestes a inserir valores para um array 2x3x4\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<4;k++)
{
printf("\n Digite o valor a ser armazenado em arr[%d][%d][%d] :: ",i,j,k);
scanf("%d",&arr[i][j][k]);
}
}
}
printf("\n Você digitou os seguintes valores:\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<4;k++)
{
printf("\n arr[%d][%d][%d] = %d\n",i,j,k,arr[i][j][k]);
}
}
}
return 0;
} Conclusão
Neste tutorial, expandimos nossa compreensão existente de arrays discutindo o conceito de arrays multidimensionais. Você é aconselhado a experimentar os exemplos usados neste tutorial em seu sistema (bem como criar novos) para obter uma melhor compreensão de como esses arrays funcionam. Em caso de dúvida ou consulta, deixe um comentário abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.