Matrices de Objective-C

El lenguaje de programación Objective-C proporciona una estructura de datos llamada the array, que puede almacenar una colección secuencial de tamaño fijo de elementos del mismo tipo. Una matriz se usa para almacenar una colección de datos, pero a menudo es más útil pensar en una matriz como una colección de variables del mismo tipo.

En lugar de declarar variables individuales, como número0, número1, ... y número99, declaras una variable de matriz como números y usas números [0], números [1] y ..., números [99] para representar variables individuales. Se accede a un elemento específico de una matriz mediante un índice.

Todas las matrices constan de ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta al último elemento.

Declaración de matrices

Para declarar una matriz en Objective-C, un programador especifica el tipo de elementos y el número de elementos requeridos por una matriz de la siguiente manera:

type arrayName [ arraySize ];

Esto se llama matriz unidimensional . losarraySize debe ser una constante entera mayor que cero y typepuede ser cualquier tipo de datos de Objective-C válido. Por ejemplo, para declarar una matriz de 10 elementos llamadabalance de tipo doble, use esta declaración -

double balance[10];

Ahora, el equilibrio es una matriz variable, que es suficiente para contener hasta 10 números dobles.

Inicialización de matrices

Puede inicializar una matriz en Objective-C ya sea una por una o usando una sola declaración de la siguiente manera:

double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};

El número de valores entre llaves {} no puede ser mayor que el número de elementos que declaramos para el arreglo entre corchetes []. A continuación se muestra un ejemplo para asignar un solo elemento de la matriz:

Si omite el tamaño de la matriz, se crea una matriz lo suficientemente grande como para contener la inicialización. Por lo tanto, si escribe -

double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};

Creará exactamente la misma matriz que hizo en el ejemplo anterior.

balance[4] = 50.0;

La declaración anterior asigna al elemento número 5 en la matriz un valor de 50,0. La matriz con el cuarto índice será el quinto, es decir, el último elemento porque todas las matrices tienen 0 como índice de su primer elemento, que también se llama índice base. A continuación se muestra la representación pictórica de la misma matriz que discutimos anteriormente:

Acceso a elementos de matriz

Se accede a un elemento indexando el nombre de la matriz. Esto se hace colocando el índice del elemento entre corchetes después del nombre de la matriz. Por ejemplo

double salary = balance[9];

La declaración anterior tomará el décimo elemento de la matriz y asignará el valor a la variable de salario. A continuación se muestra un ejemplo, que utilizará los tres conceptos mencionados anteriormente, a saber. declaración, asignación y acceso a matrices -

#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;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente 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

Matrices de Objective-C en detalle

Las matrices son importantes para Objective-C y necesitan muchos más detalles. Hay algunos conceptos importantes relacionados con la matriz que deben ser claros para un programador de Objective-C:

No Señor. Concepto y descripción
1 Matrices multidimensionales

Objective-C admite matrices multidimensionales. La forma más simple de la matriz multidimensional es la matriz bidimensional.

2 Pasar matrices a funciones

Puede pasar a la función un puntero a una matriz especificando el nombre de la matriz sin un índice.

3 Devolver matriz de una función

Objective-C permite que una función devuelva una matriz.

4 Puntero a una matriz

Puede generar un puntero al primer elemento de una matriz simplemente especificando el nombre de la matriz, sin ningún índice.