## C pointer to array element

Pointer to array in C : Pointer pointing to the array of elements

1. Array and Pointer are backbones of the C Programming language
2. Pointer and array , both are closely related
3. We know that array name without subscript points to first element in an array

Example :  One dimensional array

``int a[10]; ``
Here a , a[0] both are identical

Example : Two dimensional Array

``int a[10][10];``
Here a , a[0][0] both are identical

Let
1. x is an array ,
2. i is subscript variable
x [ i ]   =  * ( x + i )
=  * ( i + x )

=   i [ x ]

Proof of the above Formula :

1 . For first element of array i = 0
x[0]  = * ( x + 0)

= *x

Thus we have concluded that , first element of array is equivalent to *x .

2 . Thus *(x+i) will gives us value of ith element.

Summary :  Consider following code

``main(){int x[] = {1,2,3,4,5};int *ptr,i ;ptr = xfor(i=0;i<5;i++)    {    printf("nAddress : %u",&x[i]);    printf("nElement : %d",x[i]);    printf("nElement : %u",*(x+i));    printf("nElement : %d",i[x]);    printf("nElement : %d",*ptr);    }  } ``

Output :

``    Address : 7600    Element : 1    Element : 1    Element : 1    Element : 1    Address : 7602    Element : 2    Element : 2    Element : 2    Element : 2    Address : 7604    Element : 3    Element : 3    Element : 3    Element : 3    Address : 7606    Element : 4    Element : 4    Element : 4    Element : 4    Address : 7608    Element : 5    Element : 5    Element : 5    Element : 5``
 Following 4 are considered as Equivalent x[i] *(x + i) i[x] *ptr

2-D Array can be accessed –

x [ i ][ j ] = *(x[i] + j)

= *( * ( x + i ) + j )