Cómo declarar matrices en C ++

La forma habitual de declarar una matriz es simplemente alinear el nombre del tipo, seguido de un nombre de variable, seguido de un tamaño entre paréntesis, como en esta línea de código:

int Números [10] -

Este código declara una matriz de 10 enteros. El primer elemento obtiene el índice 0 y el elemento final consigue índice 9. Recuerda siempre que en C ++ matrices comienzan en 0, y el más alto índice es uno menos que el tamaño. (Recuerda, índice se refiere a la posición dentro de la matriz, y tamaño se refiere al número de elementos en el array.)

Una pregunta común que el estudiante de programación habitual pregunta es, " ¿Puedo simplemente declarar una matriz sin especificar un tamaño "? La línea se vería así:

int Números []

En ciertas situaciones, puede declarar una matriz sin poner un número en los paréntesis. Por ejemplo, puede inicializar una matriz sin especificar el número de elementos:

int MyNumbers [] = {} 1,2,3,4,5,6,7,8,9,10 -

El compilador es lo suficientemente inteligente como para contar el número de elementos que pones dentro de las llaves, y entonces el compilador hace que cuente el tamaño de la matriz.

Especificación del tamaño de la matriz ayuda a disminuir las probabilidades de que tienen bichos, insectos, bichos por todas partes. Además, tiene la ventaja añadida de que, en la declaración real, si el número entre paréntesis no coincide con el número de elementos dentro de los apoyos, el compilador emite un error, al menos si el número es menor de todos modos. El seguimiento

int MyNumbers [5] = {} 1,2,3,4,5,6,7,8,9,10 -

produce este error del compilador:

error: demasiados inicializadores para 'int [5]

Pero si el número entre paréntesis es mayor que el número de elementos, como en el siguiente código, no se obtiene un error. ¡Así que ten cuidado!

int MyNumbers [15] = {} 1,2,3,4,5,6,7,8,9,10 -

También se puede saltar especificar el tamaño de la matriz cuando se pasa una matriz en una función, como este:

int AddUp (int Números [], int Count) {int loop-int suma = 0-de (loop = 0- bucle lt; Bucle conde-++) {suma + = Números [LOOP] -} regreso veranos}

Esta técnica es especialmente poderosa porque la Agregar función puede funcionar para cualquier matriz de tamaño. Usted puede llamar a la función como esta:

cout lt; lt; AddUp (MyNumbers, 10) lt; lt; endl-

Pero esta manera de hacerlo es un poco molesto porque hay que especificar el tamaño cada vez que se llama a la función. Sin embargo, puede solucionar este problema. Mira esta línea de código:

cout lt; lt; AddUp (MyNumbers, sizeof (MyNumbers) / 4) lt; lt; endl-

Con la matriz, el tamaño de operador le indica la cantidad de bytes que utiliza. Pero el tamaño de la matriz es por lo general el número de elementos, no el número de bytes. Así que se divide el resultado de tamaño de por 4 (el tamaño de cada elemento).

Pero ahora usted tiene ese número mágico, 4, sentado allí. (Mnúmero Agic se refiere a un número aparentemente arbitraria que se metió en algún lugar en su código) Así que un poco mejor enfoque sería entrar en esta línea.:

cout lt; lt; AddUp (MyNumbers, sizeof (MyNumbers) / sizeof (int)) lt; lt; endl-

Ahora bien, esta línea de código funciona, y he aquí por qué: La tamaño de la matriz dividida por la tamaño de cada elemento de la matriz da el número de elementos en el array.




» » » » Cómo declarar matrices en C ++