@Walkbitterwyrm Lightwarg Yes, on a 64 bit system, you have expressed the hex representation of that address correctly in binary representation. In that case, a pointer which can store that address will occupy 64 bits (usually 8 bytes) of memory.
A pointer is a variable that holds an address. This is conceptually identical to an int which is a variable that holds an integer. The point that seems to be eluding you is that any variable, no matter what type of data it holds, also has an address. So for any int variable, there is the address where the variable is located in memory and the integer value in memory at that location. Similarly, for any pointer variable, there is the address where the variable is located in memory and the address value it points to at that location
Given the code sequence
int x, *ptr;
x = 65;
ptr = &x;
integer x will occupy 4 bytes of memory at a location determined by your system. Assume the system puts x at location 0x0000000000024680. On a typical 64-bit system, ptr would be located at 0x0000000000024688. After the first assignment is executed, location 0x0000000000024680-0x0000000000024683 would contain 0x41 0x00 0x00 0x00 which is the little-endian representation of 65. After the second assignment, location 0x0000000000024688-0x000000000001000f would contain 0x80 0x46 0x02 0x00 0x00 0x00 0x00 0x00, the little-endian representation of the address of x.
Notice that ptr is located at 0x0000000000024688 and it contains 0x0000000000024680. Its location and its content are completely independent of each other. You can reassign ptr to point to another int but there is nothing you can do that would cause ptr to move to another location.
Neither x nor ptr keep track of their own address. That is the compiler's job. When the address is needed, the compiler generates the appropriated code to provide it. For example, in order to store the value 65 in x, the compiler needs to generate the code to compute the value 65 and the code to store this value where x is located.
The situation is the same with pointers. In order to store the address of x in ptr, the compiler needs to generate the code to compute the address of x and the code to store this value where ptr is located.