Cómo determinar el tamaño de una matriz

Cómo determinar el tamaño de una matriz
Array es una colección lineal de elementos. Para calcular el tamaño de la matriz podemos usar el operador sizeof (). Con la ayuda del operador sizeof () podemos descubrir fácilmente el tamaño de una matriz. Excepto el operador sizeOf () También podemos usar puntero para calcular el tamaño de la matriz.

Principio básico del operador SizeOf para calcular el tamaño de la matriz

Memoria requerida (en bytes) = sizeof (tipo de datos) * size de matriz.

Ejemplo: int a [10];

Entonces, sizeof (DataType) = sizeof (int) = 4 bytes

Tamaño de matriz = 10 .

Entonces, la memoria requerida = (4 * 10) bytes = 40 bytes

Programación Ejemplo 1:

# incluir
# incluir
int main ()

int arr [] = 1, 2, 3, 4, 5;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Tamaño de la matriz.
printf ("tamaño de matriz = %d \ n", tamaño);
printf ("Los elementos de la matriz son:");
para (i = 0; i < size ; i++)

printf ("arr [ %d] = %d \ n", i, arr [i]);

Producción: El tamaño de la matriz es 5

Explicación: Aquí, declaramos una matriz llamada ARR [] y asignamos algunos valores. Son 1, 2, 3, 4, 5. Si queremos determinar el tamaño de la matriz, significa cuántos elementos presentes en la matriz, tenemos que escribir el cálculo con la ayuda del operador de tamaño.

Sizeof (arr []) / sizeof (arr [0]);

Aquí, el tamaño de ARR [] es 5 y cada número entero toma memoria 4 bytes.

Entonces, la memoria total se consume = (5 * 4) bytes.

= 20 bytes.

SizeOf (arr [0]) significa aquí los elementos son enteros. Entonces, se necesita memoria 4 bytes.

Entonces, el tamaño de la matriz = (20/4) bytes = 5 bytes.

Si tomamos una matriz o cadena de personajes en lugar de una matriz entera, podemos explicar lo que sucedió en el próximo programa.

Programación Ejemplo 2:

# incluir
# incluir
int main ()

char arr [] = a, b, c, d, e;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Tamaño de la matriz
printf ("tamaño de matriz = %d \ n", tamaño); .
printf ("Los elementos de la matriz son:");
para (i = 0; i < size ; i++)

printf ("arr [ %d] = %c \ n", i, arr [i]);

Producción: El tamaño de la matriz es 5

Explicación: Aquí, declaramos una matriz llamada ARR [] y asignamos algunos valores.Son 'a', 'b', 'c', 'd', 'e'. Si queremos determinar el tamaño de la matriz, significa cuántos elementos presentes en la matriz, tenemos que escribir el cálculo con la ayuda del operador sizeof ().

Sizeof (arr []) / sizeof (arr [0]);

Aquí, el tamaño de ARR [] es 5 y cada personaje toma memoria 2 bytes.

Entonces, la memoria total se consume = (5 * 2) bytes.

= 10 bytes.

sizeOf (arr [0]) significa aquí los elementos son carácter. Entonces, se necesitan memoria 2 bytes.

Entonces, el tamaño de la matriz = (10/2) bytes = 5 bytes.

Si tomamos una matriz flotante en lugar de una matriz de personajes, podemos explicar lo que sucedió en el próximo programa.

Programación Ejemplo 3:

# incluir
# incluir
int main ()

char arr [] = 1.5, 2.5, 3.5, 4.5, 5.5;
int size = sizeof (arr) / sizeof (arr [0]); // Tamaño de la matriz
printf ("tamaño de matriz = %d \ n", tamaño);
printf ("Elementos de matriz:");
para (int i = 0; i < size ; i++ )

printf ("arr [ %d] = %f \ n", i, arr [i]);

Producción: El tamaño de la matriz es 5

Explicación: Aquí, declaramos una matriz llamada ARR [] y asignamos algunos valores.Ellos son 1.5, 2.5, 3.5, 4.5, 5.5. Si queremos determinar el tamaño de la matriz, significa cuántos elementos presentes en la matriz, tenemos que escribir el cálculo con la ayuda del operador sizeof ().

Sizeof (arr []) / sizeof (arr [0]);

Aquí, el tamaño de ARR [] es 5 y cada flotador toma memoria 8 bytes.

Entonces, la memoria total se consume = (5 * 8) bytes.

= 40 bytes.

SizeOf (arr [0]) significa aquí los elementos están flotantes. Entonces, toma memoria 8 bytes.

Entonces, el tamaño de la matriz = (40/8) bytes = 5 bytes.

Calcule el tamaño de la matriz usando puntero

Otro método para determinar el tamaño de la matriz es usar puntero.

Programación Ejemplo 4:

int main ()

int main ()

int arr [] = 1, 2, 3, 4, 5;
int tize = * (& arr + 1) - arr; // declarando la variable de tamaño usando puntero.
printf ("El número de elementos son ARR [] es %D", tamaño);
regresar 0;

Explicación: Aquí, calculamos el tamaño de la matriz usando puntero.

int tize = * (& arr + 1) - arr;

La línea anterior nos ayuda a calcular el tamaño de la matriz. Aquí, ARR significa la dirección base de la matriz o dirección del primer índice de la matriz.

* (y arr + 1)

Significa la dirección del segundo índice de la matriz. Porque agregamos 1 a la dirección de la dirección base.

Si restamos el valor de la dirección de la matriz desde su dirección base, entonces obtenemos el tamaño de cada bloque en la matriz. Luego, podemos descubrir fácilmente el tamaño de la matriz contando el total de no de entradas que hemos dado a esa matriz en particular.

Producción:

Conclusión

Claramente, se muestra que con la ayuda del puntero del operador sizeof (), podemos calcular fácilmente la longitud de la matriz o el tamaño de la matriz. Principalmente, el operador sizeOf () es responsable de calcular el tamaño de la matriz, pero además, el puntero también puede admitir para determinar el tamaño de la matriz pasivamente.