Cómo Determinar El Tamaño De Una Matriz

Tabla de contenido:

Cómo Determinar El Tamaño De Una Matriz
Cómo Determinar El Tamaño De Una Matriz

Video: Cómo Determinar El Tamaño De Una Matriz

Video: Cómo Determinar El Tamaño De Una Matriz
Video: como saber el tamaño de una matriz 2024, Mayo
Anonim

Las matrices son una de las formas de almacenamiento de datos más utilizadas en el curso de la operación del programa. Le permiten organizar elementos del mismo tipo en una secuencia ordenada y obtener acceso rápido a ellos por índice. Muy a menudo, al desarrollar aplicaciones en lenguajes de programación potentes y flexibles que permiten el acceso directo a la memoria, como C ++, es necesario determinar el tamaño de la matriz.

Cómo determinar el tamaño de una matriz
Cómo determinar el tamaño de una matriz

Necesario

Compilador de C ++

Instrucciones

Paso 1

Determine el tamaño de la matriz en tiempo de compilación calculándolo con el operador sizeof. Este operador devuelve la cantidad de memoria (en bytes) ocupada por el argumento que se le pasa. El argumento puede ser una variable o un identificador de tipo. El operador sizeof devuelve la cantidad finita de memoria ocupada por el objeto en la etapa de ejecución del programa (teniendo en cuenta, por ejemplo, la configuración para la alineación de los campos de estructura), pero su cálculo se realiza en la etapa de compilación.

Paso 2

Para determinar el tamaño de una matriz usando el operador sizeof, divida su tamaño completo por el tamaño de un elemento. Por ejemplo, si tiene la siguiente definición de una matriz: int aTemp = {10, 20, 0xFFFF, -1, 16}, entonces su tamaño se puede calcular como: int nSize = sizeof (aTemp) / sizeof (aTemp [0]);

Paso 3

Para un uso más conveniente de este método, tiene sentido definir una macro: #define countof (a) (sizeof (a) / sizeof (a [0])) Note que dado que el valor del operador sizeof se calcula en la compilación tiempo, en el punto donde se realiza el cálculo, la información sobre el volumen de la matriz y sus elementos debe estar disponible explícitamente. En otras palabras, es imposible determinar los parámetros de una matriz de tamaño desconocido mediante su declaración externa.

Paso 4

Determine el tamaño de la matriz durante la ejecución del programa, utilizando el signo conocido de su terminación. Uno de los enfoques que permite almacenar y transmitir datos en forma de matrices de longitud indefinida es asignar un valor especial a un signo que indique la finalización de una secuencia de datos. Por ejemplo, las cadenas de estilo C de un solo byte que son matrices de caracteres deben terminar con un valor de 0, las matrices de cadenas C de longitud variable empaquetadas tienen terminación en cero y las matrices de puntero deben terminar en nulo.

Paso 5

Para determinar el tamaño de una matriz representada de esta manera, escanéelo elemento por elemento hasta que encuentre el elemento de terminación. Incrementar el contador inicializado a cero durante el escaneo. O bien, aumente el valor del puntero a un elemento de la matriz y, después de escanear, calcule la diferencia entre los punteros al primer elemento y al actual.

Paso 6

Obtenga el tamaño de una matriz dinámica representada por un marco o un objeto de biblioteca llamando a su método. Cualquier clase que encapsule la funcionalidad de tales matrices tiene métodos para obtener el número actual de elementos. Por ejemplo, la clase de plantilla std:: vector de la biblioteca estándar de C ++ tiene un método de tamaño, la clase QVector del marco Qt tiene un método de recuento y la clase CArray análoga de MFC tiene un método GetCount.

Recomendado: