

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What do you mean by Dynamic memory allocation in C programming?
Dynamic Memory Allocation
Allocation of memory at the time of execution (run time) is known as dynamic memory allocation.
The functions calloc() and malloc() support allocating of dynamic memory.
Dynamic allocation of memory space is done by using these functions when value is returned by functions and assigned to pointer variables.
In this case, variables get allocated only if your program unit gets active.
It uses the data structure called heap for implementing dynamic allocation.
There is memory reusability and memory can be freed when not required.
It is more efficient.
In this memory allocation scheme, execution is slower than static memory allocation.
Here memory can be released at any time during the program.
Example
Following program computes the sum of even numbers and odd numbers in a set of elements using dynamic memory allocation functions −
#include<stdio.h> #include<stdlib.h> void main(){ //Declaring variables, pointers// int i,n; int *p; int even=0,odd=0; //Declaring base address p using malloc// p=(int *)malloc(n*sizeof(int)); //Reading number of elements// printf("Enter the number of elements : "); scanf("%d",&n); /*Printing O/p - We have to use if statement because we have to check if memory has been successfully allocated/reserved or not*/ if (p==NULL){ printf("Memory not available"); exit(0); } //Storing elements into location using for loop// printf("The elements are : \n"); for(i=0;i<n;i++){ scanf("%d",p+i); } for(i=0;i<n;i++){ if(*(p+i)%2==0){ even=even+*(p+i); } else{ odd=odd+*(p+i); } } printf("The sum of even numbers is : %d\n",even); printf("The sum of odd numbers is : %d\n",odd); }
Output
Enter the number of elements : 4 The elements are : 35 24 46 12 The sum of even numbers is : 82 The sum of odd numbers is : 35
- Related Questions & Answers
- What do you mean by static memory allocation in C programming?
- What is Dynamic Memory Allocation in C?
- What do you mean by a dynamic initialization of variables?
- What do you mean by C++ Tokens?
- Example program on Dynamic memory allocation in C language
- Explain dynamic memory allocation in C with an example
- What do you mean by buffer in C language?
- What do you mean by corporate culture?
- What do you mean by Teen Stress?
- What do you mean by compliance specialist?
- What do you mean by performance testing?
- Example program on Dynamic memory allocation function in C language
- What do you mean by timeOut in TestNG?
- What do you mean by Listeners in TestNG?
- What do you mean by glue in Cucumber?