I am trying to understand the process of declaration and assignment of a primitive type at the back stage.
int i;
i = 3;
Assuming you're talking about C or C++ (I can't tell), yes. You can access the address like so:
int i = 3; int *k = &i; // k now is a pointer to i *k = 4; // assigns the value k points to (i) to 4, i is now 4