¿Qué ocurre si utilizamos fuera de los límites de índice en una matriz en lenguaje C?

Fuera de límites indexación de matrices en el lenguaje de programación C : Aquí, vamos a aprender que lo que sucede if utilizamos fuera de límite indexación de matrices en lenguaje C ?

vamos a entender en primer lugar, ¿cuál es el índice fuera de los límites?

Let suponga que tiene una matriz con 5 elementos, entonces la indexación matriz será de 0 a 4, es decir, podemos acceder a los elementos del índice de 0 a 4.

Pero, if utilizamos el índice que es mayor que 4, se será llamado índice fuera de límites.

If utilizamos un índice de matriz que está fuera de los límites, entonces el compilador probablemente compilará e incluso correr. Sin embargo, no hay garantía para obtener el resultado correcto. El resultado puede impredecible y comenzará a causar muchos problemas que serán difíciles de encontrar.

Por lo tanto, hay que tener cuidado while mediante la indexación de matrices .

Considere el ejemplo:

#include <stdio.h>
int main(void)
{
int arr[5];
int i;
arr[0] = 10; //valid
arr[1] = 20; //valid
arr[2] = 30; //valid
arr[3] = 40; //valid
arr[4] = 50; //valid
arr[5] = 60; //invalid (out of bounds index)
//printing all elements
for( i=0; i<6; i++ )
printf("arr[%d]: %dn",i,arr[i]);
return 0;
}

salida

    arr[0]: 10
arr[1]: 20
arr[2]: 30
arr[3]: 40
arr[4]: 50
arr[5]: 11035

Explicación:

En el programa, tamaño de la matriz es 5, por lo array indexación será desde arr [0] a arr [4] . Pero, aquí he asignado valor a 60 matriz [5] ( matriz [5] índice está fuera de los límites de la matriz índice de ).

programa compilado y ejecutado con éxito, pero while imprimir el valor, valor de matriz [5] es / basura impredecible. Me asignaron 60 en ella y el resultado es 11035 (que puede ser cualquier cosa).


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *