Arjun since p is a pointer to pointer to int, then *p is an address and that address contains int value 1. So by reading the following lines :-
" So, *p will have 1. (assuming a 32 bit architecture, on 64 bit architecture *p will be 8 bytes and the array element being int is only 4 bytes)
Now, *p+1, is pointer arithmetic. It will add 1 *sizeof(int) to *p. So, *p+1 will give 1 + 4 = 5. (This 5 is not the element 5 in the array) "
i am confused that whether *p is 1 is element and if not then what it is?