3 ms·
> What are pointers in the hardware? Under current "flat address space" architectures, a pointer in the hardware is nothing more than a memory address, represe
by cesarb 10y ago
> What are pointers in the hardware?
Under current "flat address space" architectures, a pointer in the hardware is nothing more than a memory address, represented as an integer. That is, a pointer with value 0x12345678 is the address of the memory 0x12345678 bytes above the start of the virtual address space.
In the C language, pointers are more abstract: they have to point to either within an object, or one past the end of an object. This is because there are architectures like segmented architectures, where a pointer has two parts (segment and offset) and cannot be treated just like an integer, and the same C program should in theory be able to also run in these architectures without change.
- bogomipz 10y agoThanks for pointing out the alternative of segmented memory, this now makes sense. Cheers.