Indexación en una matriz en c ++

Video: Buscar un valor en una matriz en C++

En C ++, debe proporcionar una índice para acceder a un elemento específico dentro de la matriz. Un índice debe ser un tipo de recuento (tales como int), Como se ha demostrado aquí:

nScores [11] = 10-

Esto es similar a la forma en que los coches de alquiler son numeradas. Sin embargo, a diferencia de los humanos, C ++ se inicia con la numeración 0 cuando sus matrices. Así, la primera puntuación en la matriz nScores es nScores [0].

Video: C en español - 18: punteros - punteros como arrays: indexación

Entonces, ¿cómo funciona esto exactamente? Bueno, pensar en un alquiler de coche del aparcamiento. La figura muestra cómo los coches de alquiler son normalmente numerados en sus estacionamientos. El primer coche en la fila B lleva la designación B1. Para encontrar B11, sólo tiene que mover su mirada diez coches a la derecha.

Video: Sumar diagonales de una matriz en C++ [ 01: Explicación paso a paso]

C ++ hace una cosa similar. Para ejecutar la sentencia nScores [11] = 10, C ++ comienza con la dirección del primer elemento de nScores. Entonces se mueve hacia la derecha 11 espacios y almacena un 10 en ese lugar. Esto se muestra gráficamente en la siguiente figura.

El hecho de que C ++ empieza a contar desde cero lleva a un punto que siempre confunde a los principiantes. La declaración

int nScores [100] -

declara 100 partituras, que están numerados de 0 a 99. La expresión

Video: Determinante de una matriz Dev C++

nScores [100] = 0- // esto es un error

Pone a cero el primer elemento más allá el final de la matriz. El último elemento de la matriz es nScores [99]. El compilador de C ++ no cogerá este error y accederá felizmente este no-elemento, que muy a menudo conduce al programa de acceso a alguna otra variable por error. Este tipo de error es muy difícil de encontrar porque los resultados son tan impredecible.

Artículos Relacionados