Arrays em C Explicados: Armazenamento e Acesso Eficiente de Dados
Arrays são um tipo de estrutura de dados que pode armazenar uma coleção sequencial de tamanho fixo de elementos do mesmo tipo. Um array é usado para armazenar uma coleção de dados, mas muitas vezes é mais útil pensar em um array como uma coleção de variáveis do mesmo tipo.
Em vez de declarar variáveis individuais, como number0, number1, ..., e number99, você declara uma variável de array como numbers e usa numbers[0], numbers[1], ..., numbers[99] para representar variáveis individuais. Um elemento específico em um array é acessado por um índice.
Todos os arrays consistem de localizações de memória contíguas. O endereço mais baixo corresponde ao primeiro elemento e o endereço mais alto ao último elemento.
Declarando Arrays
Para declarar um array em C, um programador especifica o tipo dos elementos e o número de elementos necessários por um array da seguinte forma:
type arrayName[arraySize];
Isso é chamado de array unidimensional. O arraySize deve ser uma constante inteira maior que zero e type pode ser qualquer tipo de dado C válido. Por exemplo, para declarar um array de 10 elementos chamado balance do tipo double, use esta instrução:
double balance[10];
Aqui balance é um array variável suficiente para armazenar até 10 números double.
Inicializando Arrays
Você pode inicializar um array em C elemento por elemento ou usando uma única instrução da seguinte forma:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
O número de valores entre chaves { } não pode ser maior que o número de elementos que declaramos para o array entre colchetes [ ].
Se você omitir o tamanho do array, um array apenas grande o suficiente para conter a inicialização é criado. Portanto, se você escrever:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
Você criará exatamente o mesmo array que fez no exemplo anterior. Segue um exemplo para atribuir um único elemento do array:
balance[4] = 50.0;
A instrução acima atribui o 5º elemento no array com um valor de 50.0. Todos os arrays têm 0 como índice do primeiro elemento, que também é chamado de índice base e o último índice de um array será o tamanho total do array menos 1. Mostrado abaixo está a representação pictórica do array discutido acima:
Acessando Elementos do Array
Um elemento é acessado indexando o nome do array. Isso é feito colocando o índice do elemento entre colchetes após o nome do array. Por exemplo:
double salary = balance[9];
A instrução acima pegará o 10º elemento do array e atribuirá o valor à variável salary. O exemplo a seguir mostra como usar todos os três conceitos mencionados acima: declaração, atribuição e acesso a arrays:
Live Demo#include <stdio.h>
int main() {
int n[10]; /* n é um array de 10 inteiros */
int i, j;
/* inicializa elementos do array n com 0 */
for (i = 0; i < 10; i++) {
n[i] = i + 100; /* define elemento na posição i para i + 100 */
}
/* exibe o valor de cada elemento do array */
for (j = 0; j < 10; j++) {
printf("Element[%d] = %d\n", j, n[j]);
}
return 0;
}
Quando o código acima é compilado e executado, produz o seguinte resultado:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
Arrays em Detalhes
Arrays são importantes para C e devem receber muito mais atenção. Os seguintes conceitos importantes relacionados a arrays devem estar claros para um programador C:
| Sr.No. | Conceito & Descrição |
|---|---|
| 1 | Arrays multidimensionais C suporta arrays multidimensionais. A forma mais simples de array multidimensional é o array bidimensional. |
| 2 | Passando arrays para funções Você pode passar para a função um ponteiro para um array especificando o nome do array sem um índice. |
| 3 | Retornar array de uma função C permite que uma função retorne um array. |
| 4 | Ponteiro para um array Você pode gerar um ponteiro para o primeiro elemento de um array simplesmente especificando o nome do array, sem qualquer índice. |
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