• Articles
  • Tutorials
  • Interview Questions

Dynamic Memory Allocation in C

What are Pointers in C

It is a variable which is used to store the address of another variable.

pointer

Advantages of pointer

  • Return multiple values from function
  • Access any memory location
  • Improves the performance
  • Reduces the code
  • Used for dynamic memory allocation
  • Used in arrays, functions and structures
Symbol   Name    Description
& address of operator Determines the address of a variable.
* indirection operator Accesses the value at the address.

Example

#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
int n=50;
int *p;    //declaration of pointer
p=&n; //stores the address of number variable
printf("Address of n variable is %x n",&n);
printf("Address of p variable is %x n",p);
printf("Value of p variable is %d n",*p);
getch();
}

Output
Address of n variable is fff4
Address of p variable is fff4
Value of p variable is 50

Certification in Full Stack Web Development

Dynamic memory allocation in C

Dynamic memory allocation means to allocate the memory at run time. Dynamic memory allocation is possible by 4 functions of stdlib.h header file.

  1. malloc()
  2. calloc()
  3. realloc()
  4. free()
malloc() Allocates single block of requested memory.
calloc() Allocates multiple block of requested memory.
realloc() Reallocates the memory occupied by malloc() or calloc() functions.
free() Frees the dynamically allocated memory.

Course Schedule

Name Date Details
Python Course 14 Dec 2024(Sat-Sun) Weekend Batch View Details
21 Dec 2024(Sat-Sun) Weekend Batch
28 Dec 2024(Sat-Sun) Weekend Batch

About the Author

Senior Consultant Analytics & Data Science

Sahil Mattoo, a Senior Software Engineer at Eli Lilly and Company, is an accomplished professional with 14 years of experience in languages such as Java, Python, and JavaScript. Sahil has a strong foundation in system architecture, database management, and API integration.