Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: SebaC en 29 Mayo 2016, 16:48 PM

Título: Porque esta manera de acceder al valor del array no me da error
Publicado por: SebaC en 29 Mayo 2016, 16:48 PM
Hablo de este código

#include <stdio.h>

int main()
{
    int arr[ ] = { 1, 2, 3, 4 };
    int indice = 0;

    while(indice < 4)
    {
        printf("%d\n", indice[arr]);
        indice++;
    }
    return 0;
}


Porque este código compila y funciona correctamente?
Título: Re: Porque esta manera de acceder al valor del array no me da error
Publicado por: AlbertoBSD en 29 Mayo 2016, 17:36 PM
Por la aritmetica de apuntadores....

Si sumas el indice mas el valor de la direccion a la que apunta apuntador estaras llegando a la misma posicion ya sea con

indice[arr]
o con
arr[indice]

Es como si tienes

*(indice + arr)

o

*(arr + indice)

Ya que la suma es conmutativa.

Saludos
Título: Re: Porque esta manera de acceder al valor del array no me da error
Publicado por: JavierScars en 29 Mayo 2016, 17:45 PM
INCREÍBLE no sabia que eso hacían los []  :o  ;-) ;-) ;-)