(also relative address)
Base address definition
A base address is the starting memory address or location of a block of memory or data in a system’s memory. It refers to a specific location of a data structure or program component. Base addresses are often used with offsets that specify the location of any particular piece of data or memory location relative to the base address. Offsets help programs access specific memory locations or data structures within their allocated memory space.
Types of base addresses
- Absolute base address. This is a fixed memory address or the starting point for a program’s code and data, usually used in low-level programming languages.
- Relative base address. This type of base address is not standalone but relative to a base address. It finds use in high-level programming languages, such as C or C++.
- Segmented base address. It consists of a segment selector and an offset, and its application is in segmented memory architectures.
- Virtual base address. The operating system’s memory management unit (MMU) assigns this type of address to a program. Its primary application is in virtual memory systems.
- Dynamic base address. The computer assigns this memory address at runtime rather than at compile time. Its application is in position-independent code.