Skip to main content

Dynamic Memory Allocation

DMA(Dynamic Memory Allocation):-
                          At run time decision is taken how much memory is taken by the variable.So there are two ways come to make a variable .

  1. SMA:in which create a variable and how much memory taken is decided at the compilation time.For example :- int a, int b[10]; These variable a and b take a fix amount of memory.
  2. DMA:- second we create a variable which take the memory at the run time(i.e dynamically).The variable which is created dynamically does not have a name they have a address for which we use a pointer because only pointer access the address.
Use(need) of DMA:- 
                      we study about the array.An array is a collection of items(data) having a fixed size.
suppose we create an array.

 For Example:- int a[6]={1,2,3,4,5,6};

Here size of array is fixed.what will happen if we need to store more data in the array.we cannot do that.

another Example:- int b[6]={1,4,6};

Here is the size of array is 6 but memory occupy only 3 , 3 is blank which is the wastage of memory.

That's why DMA is used.Because due to dynamically we can store any number of data in the array.If array is fill and a new element is stored in array dynamically then the size of array also increased and due to DMA there is no Wastage of memory.

C provide 4 library function to achieve the DMA(Dynamic Memory Allocation).The definition of these function is present in header file stdlib.h
  1. malloc()
  2. calloc()
  3. free()
  4. realloc()
1)malloc or memory allocation:- it is used to allocate a large block of memory with the specified size.It returns a pointer of type void which can be casted(convert) into a pointer of any form.
Note:- if ptr==NULL; then memory is not allocate ,it is same for all 4 functions and good to use every time.

EXAMPLE:-


2)calloc or contiguous allocation:- it is used to allocate specified number of block memory of a specified type.It initialize each block with the default value 0.



EXAMPLE:-

Write the same program of malloc for calloc also but the only difference is in the line 10.In calloc program the line 10 is written as 

OUTPUT IS ALSO SAME


3)free:- the malloc and calloc are used for allocate the memory.So for deallocate that memory which create by malloc or by calloc, free is used.
Syntax:- free(ptr);

EXAMPLE:- 


NOTE:- Every time use free when ever you allocate a memory dynamically

4)realloc or reallocation:- if the dynamically allocated memory is insufficient then you can change the size of previously allocated memory is by using realloc.realloc means again allocate the memory if there is problem.


"""PLEASE SHARE WITH YOUR FRIENDS"""

Comments

Popular Posts

Identifiers in C

Identifiers are:-  constant variables keywords Define constant:- Any information is constant data = information = constant types of constant primary:- integer,real,character secondary:- they are made with the help of primary such as:- array,string,pointer,union,etc. Define variables:- variables are the name of memory location where we store data variable name is any combination of alphabet,digit the first letter cannot be a digit Keywords:-  keywords are the predefined or reserved words.In C there are 31 keywords.C is a case sensitive so use keyword in small alphabets. 

Functions:---

Definition:- it is basically a piece of code it has name for identification a function can be called multiple times to maintain the reusability and modularity. by writing function we can avoid same writing/piece of code Function aspects:-  3 aspects of function are 1.function declaration:- a function must be declared globally in c , to tell the compiler about function name, function return type, function parameter.           Syntax:-   return_type function_name(arguments or data_types parameter);              example:-   void sum(int a,int b); 2.function call:-  a function can be called anywhere from the program, pass the same no. of parameter as we write in function declaration.         Syntax:-   function_name(argument_list)             example:-   sum(a,b) 3.function definition:-  it contains the actual statements whi...

Introduction to C

About C:- C is a high-level language . It was initially first developed by D ennis Ritchie in 1972. It was developed to overcome the limitation of previous language such as B,BCPL etc. It was developed for Unix operating System It inherits many features of previous language Features/Advantage:- Simple :- because it provide data types, library function etc. Machine Independent or Portable:- because it can be executed on different machine Procedural language:- Instruction in c program are executed step by step Structured programming language:- break the problem into parts It provide dynamic memory allocation , pointers etc. Speed:-It is faster than another programming language like java, python etc. Disadvantage of C:- It does not support oops concept in which inheritance, polymorphism, encapsulation etc. come. It does not support namespace concept It does not support constructor and destructor There is lack of excepti...