Science, asked by devindrasingh508, 1 year ago

Advantages and disadvantages of static and dynamic memory allocation

Answers

Answered by writersparadise
83

Static allocation:

Advantages:

1.    Static allocation is done at compile time when you know the size of the array.

2.    The memory size allocated to “data” is static. But it is possible to change content of a static structure without increasing the memory space allocated to it.

3.    Global variables are declared “ahead of time,” such as fixed array.

4.    Lifetime of Static allocation is the entire runtime of program.

5.    It has efficient execution time

Disadvantages:

1.      In case more static data space is declared than needed, there is waste of space.

2.    In case less static space is declared than needed, then it becomes impossible to expand this fixed size during run time.


Dynamic Allocation:

Advantages:

·          Dynamic Allocation is done at run time.

·           Data structures can grow and shrink to fit changing data requirements.

·          We can allocate (create) additional storage whenever we need them.

·         We can de-allocate (free/delete) dynamic space whenever we are done with them.  

·         Thus we can always have exactly the amount of space required - no more, no less.

Disadvantages:

·         As the memory is allocated during runtime, it requires more time.

·         Memory needs to be freed by the user when done. This is important as it is more likely to turn into bugs that are difficult to find.


Answered by Anonymous
3

Explanation:

Static

allocation:

Advantages:

1.    Static

allocation is done at compile time when you know the size of the array.

2.    The

memory size allocated to “data” is static. But it is possible to change content

of a static structure without increasing the memory space allocated to it.

3.    Global

variables are declared “ahead of time,” such as fixed array.

4.    Lifetime

of Static allocation is the entire runtime of program.

5.    It

has efficient execution time

Disadvantages:

1.      In

case more static data space is declared than needed, there is waste of space.

2.    In

case less static space is declared than needed, then it becomes impossible to

expand this fixed size during run time.

Dynamic Allocation:

Advantages:

·        

 Dynamic Allocation

is done at run time.

·        

  Data structures can grow and shrink to fit

changing data requirements.

·        

 We can

allocate (create) additional storage whenever we need them.

·        

We can de-allocate (free/delete) dynamic space

whenever we are done with them.  

·        

Thus we can always have exactly the amount of

space required - no more, no less.

Disadvantages:

·        

As the memory is allocated during runtime, it requires more

time.

·        

Memory needs to be freed by the user when done. This is important as it is more likely to

turn into bugs that are difficult to find.

Similar questions