how x+3 and *(x+3) printing the same output
even though the output look same, they are really different
it is a two dimensional array. ===> collection of 1-D arrays
x ===> 0th 1-D
x+3 ==> 4th 1-D
*(x+3) = *(x+3) + 0 ====> 4th 1-D, 0th element Address
But the printing was same due to memory address of 4th 1-D = memory address of 4th 1-D, 0th element Address.
i thought that x+3 will give the address of the pointer that is pointing to 4th 1-D array.....106(assumed)