Considere el siguiente programa.
C
int main( ) { int arr[2] = {0,1}; printf("First Element = %d\n",arr[0]); getchar(); return 0; }
C++
// C++ Program to represent array in an uncommon way #include <iostream> using namespace std; int main() { int arr[2] = {0, 1}; cout << "First Element = " << 0[arr] << endl; return 0; } // This code is contributed by sarajadhav12052009
Programa bastante simple… eh… La salida será 0.
Ahora, si reemplaza arr[0] con 0[arr] , el resultado sería el mismo. Porque el compilador convierte la operación de array en punteros antes de acceder a los elementos de la array. por ejemplo , arr[0] sería *(arr + 0) y, por lo tanto, 0[arr] sería *(0 + arr) y sabe que tanto *(arr + 0) como *(0 + arr) son iguales.
Escriba comentarios si encuentra algo incorrecto en el artículo anterior.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA