Programação C · 3 min read · Feb 14, 2026

Tutorial de Programação em C no Linux Parte 7: Arrays

Então, já discutimos o conceito de variáveis na programação em C (aqui e aqui). Para refrescar rapidamente, uma variável é algo que pode conter um valor de um tipo específico - pode ser um inteiro, caractere ou até mesmo ponto flutuante. No entanto, há uma limitação das variáveis: elas podem conter apenas um único valor a qualquer momento.

Isso significa que, se você quiser armazenar vários valores, terá que lidar com um número igual de variáveis. Por exemplo, se você quiser que um programa aceite 10 valores inteiros do usuário e depois os exiba, você pode escrevê-lo desta forma:

#include   
  
int main()  
{  
 int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;  
 printf("Digite 10 valores inteiros\n");  
 scanf("%d",&a);  
 scanf("%d",&b);  
 scanf("%d",&c);  
 scanf("%d",&d);  
 scanf("%d",&e);  
 scanf("%d",&f);  
 scanf("%d",&g);  
 scanf("%d",&h);  
 scanf("%d",&i);  
 scanf("%d",&j);  
   
 printf("Você digitou os seguintes valores:\n");  
 printf("%d\n",a);  
 printf("%d\n",b);  
 printf("%d\n",c);  
 printf("%d\n",d);  
 printf("%d\n",e);  
 printf("%d\n",f);  
 printf("%d\n",g);  
 printf("%d\n",h);  
 printf("%d\n",i);  
 printf("%d\n",j);  
   
  
 return 0;  
}

Ou da seguinte forma:

#include   
  
int main()  
{  
 int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;  
   
 printf("Digite 10 valores inteiros\n");  
 scanf("%d %d %d %d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);  
   
 printf("Você digitou os seguintes valores:\n");  
 printf("%d %d %d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h,i,j);  
   
  
 return 0;  
}

A segunda abordagem pode ser um pouco melhor se você comparar em termos de linhas de código escritas, mas ainda há uma maneira melhor, que é usar um array de inteiros.

Sim, se há uma necessidade de armazenar múltiplos valores do mesmo tipo, você deve optar por um array. Aqui está como um array de inteiros capaz de armazenar 10 valores é definido:

int arr[10]

Então aqui, ‘int’ refere-se ao tipo de valores que o array ‘arr’ armazenará. O número 10 entre colchetes indica que a capacidade de ‘arr’ é de 10 valores. Agora, aqui está um trecho de código usando este array:

#include   
  
int main()  
{  
 int arr[10],i;  
   
 printf("Digite 10 valores inteiros\n");  
   
 for(i=0;i<10;i++)  
 scanf("%d",&(arr[i]));  
   
 printf("Você digitou os seguintes valores:\n");  
   
 for(i=0;i<10;i++)  
 printf("%d\n",arr[i]);  
   
  
 return 0;  
}

Observe que já discutimos as funções scanf e printf em um de nossos tutoriais anteriores, então você pode se referir a esses artigos caso queira saber mais sobre elas.

Voltando aos arrays, você deve ter observado que o loop ‘for’ no código acima começa com i=0. Isso ocorre porque os subscritos do array (o número dentro dos colchetes) sempre começam do zero. Portanto, aqui, no nosso caso, arr[0] refere-se ao primeiro valor digitado pelo usuário, arr[1] refere-se ao segundo valor, e assim por diante até arr[9], que refere-se ao 10º valor.

Vale também mencionar que você pode acessar facilmente o endereço de memória de cada valor armazenado no array. Isso pode ser feito usando o nome do array, que é ‘arr’ neste caso. Então, se você usar apenas ‘arr’ no código, é nada menos que o endereço de memória do primeiro elemento.

Da mesma forma, se você quiser acessar o endereço de memória do segundo elemento, basta usar ‘arr+1’. Para o terceiro elemento, use ‘arr+2’, e assim por diante. O seguinte trecho de código e sua saída devem lhe dar uma ideia melhor.

#include   
  
int main()  
{  
 int arr[10],i;  
   
 printf("O endereço do primeiro e do segundo valores é: %u %u\n", arr, arr+1);  
   
 return 0;  
}

E aqui está a saída:

O endereço do primeiro e do segundo valores é: 2904035888 2904035892

Como você pode ver, há uma diferença de 4 bytes nesses endereços - isso ocorre porque um valor inteiro ocupa 4 bytes no meu sistema.

Aqui, neste tutorial, discutimos os fundamentos dos arrays. Observe que apenas demos exemplo de um array de inteiros. Você pode ter arrays de outros tipos também, como caracteres. Experimente os exemplos que usamos neste tutorial e nos avise na seção de comentários abaixo se você tiver alguma dúvida ou pergunta.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.