Consider this code :
int main(){
   
   
   int a = 10;
   int* p = &a;
   //case 1
   *(&a);
   *p;
   //case 2
   *((&a) + 1);
   *( p + 1 );
   
   
}
- Are the two forms the same ? 
- Is it correct to assert that a pointer is just an address that "can" be stored in a variable for later use ? 
- Are there some caveats when not using a pointer variable to dereference an address ? 
 
     
    