Arrays Objective-C
A linguagem de programação Objective-C fornece uma estrutura de dados chamada the array, 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 Objective-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 Objective-C válido. Por exemplo, para declarar uma matriz de 10 elementos chamadabalance do tipo double, use esta instrução -
double balance[10];
Agora, o equilíbrio é uma matriz variável, que é suficiente para conter até 10 números duplos.
Inicializando matrizes
Você pode inicializar um array em Objective-C um por um ou usando uma única instrução da seguinte maneira -
double balance[5] = {1000.0, 2.0, 3.4, 17.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 []. A seguir está um exemplo para atribuir um único elemento da matriz -
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, 17.0, 50.0};
Você criará exatamente o mesmo array que fez no exemplo anterior.
balance[4] = 50.0;
A instrução acima atribui ao elemento número 5 na matriz um valor de 50,0. O array com o 4º índice será o 5º, ou seja, o último elemento, porque todos os arrays têm 0 como índice do primeiro elemento, também chamado de índice base. A seguir está a representação pictórica da mesma 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 10º elemento da matriz e atribuirá o valor à variável salary. A seguir está um exemplo, que usará todos os três conceitos acima mencionados viz. declaração, atribuição e acesso a matrizes -
#import <Foundation/Foundation.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++ ) {
NSLog(@"Element[%d] = %d\n", j, n[j] );
}
return 0;
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
2013-09-14 01:24:06.669 demo[16508] Element[0] = 100
2013-09-14 01:24:06.669 demo[16508] Element[1] = 101
2013-09-14 01:24:06.669 demo[16508] Element[2] = 102
2013-09-14 01:24:06.669 demo[16508] Element[3] = 103
2013-09-14 01:24:06.669 demo[16508] Element[4] = 104
2013-09-14 01:24:06.669 demo[16508] Element[5] = 105
2013-09-14 01:24:06.669 demo[16508] Element[6] = 106
2013-09-14 01:24:06.669 demo[16508] Element[7] = 107
2013-09-14 01:24:06.669 demo[16508] Element[8] = 108
2013-09-14 01:24:06.669 demo[16508] Element[9] = 109
Arrays Objective-C em detalhes
Os arrays são importantes para Objective-C e precisam de muitos mais detalhes. Seguem alguns conceitos importantes relacionados a array que devem ser claros para um programador Objective-C -
Sr. Não. | Conceito e descrição |
---|---|
1 | Matrizes multidimensionais Objective-C suporta arrays 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 Objective-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. |