Consider the below program.
Pretty Simple program.. huh… Output will be 0.
Now if you replace arr with 0[arr], the output would be same. Because compiler converts the array operation in pointers before accessing the array elements.
e.g. arr would be *(arr + 0) and therefore 0[arr] would be *(0 + arr) and you know that both *(arr + 0) and *(0 + arr) are same.
Please write comments if you find anything incorrect in the above article.
- Sum of array Elements without using loops and recursion
- How will you show memory representation of C variables?
- What’s difference between “array” and “&array” for “int array” ?
- std::transform() in C++ STL (Perform an operation on all elements)
- Array class in C++
- How to pass an array by value in C ?
- Pointer to an Array | Array Pointer
- Pointer vs Array in C
- 4 Dimensional Array in C/C++
- Do not use sizeof for array parameters
- How to dynamically allocate a 2D array in C?
- How to pass a 2D array as a parameter in C?
- Difference between pointer and array in C?
- Difference between Structure and Array in C
- Accessing array out of bounds in C/C++