MEJOR SITIO PARA DESARROLLADORES WEB

C++ Tutorial

C++ HOGAR C++ Introducción C++ Empezar C++ Sintaxis C++ Producción C++ Comentarios C++ Variables C++ Entrada de usuario C++ Tipos de datos C++ Operadores C++ Cadenas C++ Matemáticas C++ Booleanos C++ Condiciones C++ Switch C++ While Bucle C++ For Bucle C++ Break/Continue C++ Matrices C++ Estructuras C++ Enumeraciones C++ Referencias C++ Consejos

C++ Funciones

C++ Funciones C++ Parámetros de función C++ Sobrecarga de funciones C++ Alcance C++ Recursión

C++ Clases

C++ POO C++ Clases/Objetos C++ Métodos de clase C++ Constructores C++ Especificadores de acceso C++ Encapsulación C++ Herencia C++ Polimorfismo C++ Archivos C++ Excepciones C++ Fecha

C++ Cómo

Suma dos números Números al azar

C++ Referencia

C++ Referencia C++ Palabras clave C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++ Ejemplos

C++ Ejemplos C++ Compilador C++ Ejercicios C++ Prueba C++ Certificado

Lenguaje C++. W3Schools lecciones en español

Ua En De

C++ Tamaño de la matriz


Obtener el tamaño de una matriz

Para obtener el tamaño de una matriz, puede utilizar el operador sizeof():

Ejemplo

int myNumbers[5] = {10, 20, 30, 40, 50};
cout << sizeof(myNumbers);

Resultado:

20
Inténtalo tú mismo »

¿Por qué el resultado muestra 20 en lugar de 5, cuando la matriz contiene 5 elementos?

Es porque el operador sizeof() devuelve el tamaño de un tipo en bytes.

Aprendiste del capítulo sobre tipos de datos que un tipo int suele tener 4 bytes, por lo que desde el principio ejemplo anterior, 4 x 5 (4 bytes x 5 elementos) = 20 bytes.

Para saber cuántos elementos tiene una matriz, hay que dividir el tamaño de la matriz por el tamaño del tipo de datos que contiene:

Ejemplo

int myNumbers[5] = {10, 20, 30, 40, 50};
int getArrayLength = sizeof(myNumbers) / sizeof(int);
cout << getArrayLength;

Resultado:

5
Inténtalo tú mismo »

Recorrer una matriz con sizeof()

En el Capítulo Arreglos y Bucles, escribimos el tamaño del arreglo en la condición del bucle (i < 5). Esto no es ideal, ya que solo funcionará para matrices de un tamaño específico.

Sin embargo, al utilizar el enfoque sizeof() del ejemplo anterior, ahora podemos crear bucles que funcionen para matrices de cualquier tamaño, lo cual es más sostenible.

En lugar de escribir:

int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
  cout << myNumbers[i] << "\n";
}

Es mejor escribir:

Ejemplo

int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < sizeof(myNumbers) / sizeof(int); i++) {
  cout << myNumbers[i] << "\n";
}
Inténtalo tú mismo »

Tenga en cuenta que, en C++ versión 11 (2011), también puede utilizar el bucle "for-each":

Ejemplo

int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i : myNumbers) {
  cout << i << "\n";
}
Inténtalo tú mismo »

Es bueno conocer las diferentes formas de recorrer una matriz, ya que puede encontrarlas todas en diferentes programas.



Comentarios