#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr[4][2]={{1,2}, {3, 4}, {11,22}, {33, 44}};
int i, j;
int *ptr;
ptr = &arr[0][0]; // arr[n][m]
// printf element value by operating on pointer variable
for (i=0 ; i<4 ; i++){
for (j=0 ; j<2 ; j++){
// arr[4][2] >> m=2
// *(ptr+i*m+j) to access the value of arr[i][j]
// value: 1)variable 2)*pointer
printf("arr[%d][%d] = %d \n", i, j, *(ptr+i*2+j));
// (ptr+i*m+j) to access the address of arr[i][j]
// address: 1)&variable 2)pointer
printf("&arr[%d][%d] = %p \n", i, j, (ptr+i*2+j));
// (ptr+i)+j to access the address of arr[i][j]
printf("&arr[%d][%d] = %p \n", i, j, &arr[i][j]);
printf("\n");
}
}
system("pause");
return 0;
}