Dominando Arrays em C: Declaração, Inicialização e Operações Comuns
Dominando Arrays em C
Descubra como declarar, inicializar e manipular arrays em C com exemplos práticos, dicas de boas práticas e diretrizes de segurança.

Em C, um array é um bloco contíguo de memória que armazena múltiplos valores do mesmo tipo. Por exemplo, para armazenar 100 inteiros você escreveria:
int data[100];
Declarando um Array
Use a sintaxe:
dataType arrayName[arraySize];
Exemplo:
float mark[5];
Aqui, mark pode armazenar cinco valores float. Note que o tamanho e tipo são fixos após a declaração.
Acessando Elementos
Índices de array começam em 0. Para um array de tamanho n, o último elemento é array[n-1]. Exemplo:
mark[0] // primeiro elemento mark[4] // último elemento para tamanho 5

Pontos-Chave:
- Primeiro índice é 0, não 1.
- Para
float(4 bytes), cada índice subsequente incrementa o endereço em 4. - Nunca acesse além de
array[n-1]para evitar comportamento indefinido.
Inicializando um Array
Inicialize na declaração:
int mark[5] = {19, 10, 8, 17, 9};
Ou deixe o compilador deduzir o tamanho:
int mark[] = {19, 10, 8, 17, 9};
Valores resultantes:
mark[0] = 19 mark[1] = 10 mark[2] = 8 mark[3] = 17 mark[4] = 9

Modificando Elementos
int mark[5] = {19, 10, 8, 17, 9}; mark[2] = -1; // terceiro elemento mark[4] = 0; // quinto elemento
Entrada & Saída
Lendo em um elemento do array:
scanf("%d", &mark[2]); // terceiro elemento scanf("%d", &mark[i-1]); // i-ésimo elemento (base 1)
Imprimindo um elemento:
printf("%d", mark[0]); // primeiro printf("%d", mark[2]); // terceiro printf("%d", mark[i-1]); // i-ésimo
Exemplo 1: Entrada/Saída de Array
#include <stdio.h> int main() { int values[5]; printf("Digite 5 inteiros: "); for (int i = 0; i < 5; ++i) { scanf("%d", &values[i]); } printf("Exibindo inteiros:\n"); for (int i = 0; i < 5; ++i) { printf("%d\n", values[i]); } return 0; }
Saída
Digite 5 inteiros: 1 -3 34 0 3 Exibindo inteiros: 1 -3 34 0 3
Exemplo 2: Calcular Média
#include <stdio.h> int main() { int marks[10], n, sum = 0; printf("Digite número de elementos: "); scanf("%d", &n); for (int i = 0; i < n; ++i) { printf("Digite número%d: ", i + 1); scanf("%d", &marks[i]); sum += marks[i]; } int average = sum / n; printf("Média = %d", average); return 0; }
Saída
Digite n: 5 Digite número1: 45 Digite número2: 35 Digite número3: 38 Digite número4: 31 Digite número5: 49 Média = 39
Cuidado com Acesso Fora dos Limites
Acessar testArray[12] quando o array tem apenas 10 elementos leva a comportamento indefinido — crashes, dados corrompidos ou erros silenciosos. Sempre valide índices antes de acessar.
Arrays Multidimensionais
Até agora cobrimos arrays unidimensionais. No próximo tutorial, exploraremos arrays multidimensionais (arrays de arrays) e como usá-los efetivamente.
Linguagem C
- Dominando Arrays em C#: Declaração, Inicialização e Operações
- Dominando Arrays Irregulares (Jagged Arrays) em C#: Declaração, Inicialização e Acesso
- Como Passar Arrays para Funções em C++: Guia Prático
- Como Passar Arrays 1D e 2D para Funções em C – Um Guia Prático
- Entendendo a Relação Entre Arrays e Ponteiros em C
- Técnicas de Cópia de Arrays em Java: Guia Completo
- Arrays em C++ Desmistificados: Declaração, Inicialização e Técnicas com Ponteiros
- Dominando Alocação Dinâmica de Arrays em C++: Guia Prático com Exemplos de Código
- Tutorial de Arrays em Java: Declaração, Criação e Inicialização – Código de Exemplo
- MATLAB: Dominando Arrays Multidimensionais e Especiais