Menu

As the stored program concept specifies, the data and instructions that are to be processed should be stored in main memory of the computer, the memory allocation comes into picture. The data that is to be processed must be stored in main memory so that is readily available to the processor and can fetched and stores in internal registers for processing. Reserving space in main memory for the data variables and used for storing data in it later through assignment or input is called as memory allocation. So once the data structure is decided and variables are declared in the declaration part of the program (in case of C language) memory is allocated to the variables of the respective data structured by the compiler. This is called as memory allocation. For example, consider the following C program:-

void main()

{

int a, b, c;

. . . . .

}

When the above program is compiled memory of two bytes each is allocated to the variables a, b and c respectively. These memory locations are used to store two bytes signed integers (data). In the program the data are referred through variables names (identifiers). Consider another example,

void main()

{

int arr[20];

. . . . .

}

When this program is compiled 40 bytes of consecutive memory is allocated to store 20 integers and all the integers are referred by a single variable “arr” with the proper index.

void main()

{

int *arr; int size=20;

arr= (int *) malloc (2 * size);

}

When the above program is executed 40 bytes of memory is allocated during execution and the base address is stored in a pointer variable arr. With the help of arr now it is possible to refer 20 integers.