created: 01/17/2003

# CHAPTER 33 — Dynamic Memory Allocation

Just before a program starts running, the loader copies the machine code into the text segment of memory. Enough room is allocated in the data segment of memory to hold all the data that the source code declared.

The amount of memory declared in the source code is a static number. But often as a program runs it requests more memory for data. The operating system finds a block of available memory and allocates it to the program. This is dynamic memory allocation.

#### Chapter Topics:

- Dynamic Memory Allocation.
- Records and Structures.
- Subroutine Calls with Structures.

Dynamic memory allocation is used in assembly language and high level languages for building data structures. In object oriented languages it is used to get the memory used to construct objects.

### QUESTION 1:

(Review: ) How many addresses are there for a MIPS processor?