C - Matrizes
Arrays um tipo de estrutura de dados que pode armazenar uma coleção sequencial de tamanho fixo de elementos do mesmo tipo. Uma matriz é usada para armazenar uma coleção de dados, mas geralmente é mais útil pensar em uma matriz como uma coleção de variáveis do mesmo tipo.
Em vez de declarar variáveis individuais, como número0, número1, ... e número99, você declara uma variável de matriz, como números e usa números [0], números [1] e ..., números [99] para representar variáveis individuais. Um elemento específico em uma matriz é acessado por um índice.
Todas as matrizes consistem em locais de memória contíguos. O endereço mais baixo corresponde ao primeiro elemento e o endereço mais alto ao último elemento.
Declaração de matrizes
Para declarar uma matriz em C, um programador especifica o tipo dos elementos e o número de elementos exigidos por uma matriz da seguinte maneira -
type arrayName [ arraySize ];
Isso é chamado de matriz unidimensional . oarraySize deve ser uma constante inteira maior que zero e typepode ser qualquer tipo de dados C válido. Por exemplo, para declarar uma matriz de 10 elementos chamadabalance do tipo double, use esta instrução -
double balance[10];
Aqui, o equilíbrio é uma matriz variável que é suficiente para conter até 10 números duplos.
Inicializando matrizes
Você pode inicializar um array em C um por um ou usando uma única instrução da seguinte maneira -
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
O número de valores entre colchetes {} não pode ser maior do que o número de elementos que declaramos para a matriz entre colchetes [].
Se você omitir o tamanho do array, um array 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. A seguir está um exemplo para atribuir um único elemento da matriz -
balance[4] = 50.0;
A instrução acima atribui o 5º elemento na matriz com um valor de 50,0. Todas as matrizes têm 0 como o índice de seu primeiro elemento, que também é chamado de índice de base e o último índice de uma matriz terá o tamanho total da matriz menos 1. Abaixo está a representação pictórica da matriz que discutimos acima -
Acessando Elementos de Matriz
Um elemento é acessado indexando o nome da matriz. Isso é feito colocando o índice do elemento entre colchetes após o nome da matriz. Por exemplo -
double salary = balance[9];
A instrução acima pegará o décimo elemento da matriz e atribuirá o valor à variável salary. O exemplo a seguir mostra como usar todos os três conceitos acima mencionados viz. declaração, atribuição e acesso a matrizes -
#include <stdio.h>
int main () {
int n[ 10 ]; /* n is an array of 10 integers */
int i,j;
/* initialize elements of array n to 0 */
for ( i = 0; i < 10; i++ ) {
n[ i ] = i + 100; /* set element at location i to i + 100 */
}
/* output each array element's value */
for (j = 0; j < 10; j++ ) {
printf("Element[%d] = %d\n", j, n[j] );
}
return 0;
}
Quando o código acima é compilado e executado, ele 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
Os arrays são importantes para C e precisam de muito mais atenção. Os seguintes conceitos importantes relacionados a array devem ser claros para um programador C -
Sr. Não. | Conceito e descrição |
---|---|
1 | Matrizes multidimensionais
C oferece suporte a matrizes multidimensionais. A forma mais simples do array multidimensional é o array bidimensional. |
2 | Passando matrizes para funções
Você pode passar para a função um ponteiro para uma matriz, especificando o nome da matriz sem um índice. |
3 | Retorna a matriz de uma função
C permite que uma função retorne um array. |
4 | Ponteiro para uma matriz
Você pode gerar um ponteiro para o primeiro elemento de uma matriz simplesmente especificando o nome da matriz, sem nenhum índice. |