3. Disclaimer: This presentation is prepared by trainees of
baabtra as a part of mentoring program. This is not
official document of baabtra āMentoring Partner
Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt .
Ltd
4. Stack
ā¢ Stack is a linear data structure in which a data item is
inserted and deleted at one record.
ā¢ A stack is called LIFO(Last In First Out) or
FILO(First In Last Out) structure.
ā¢ The first item added to a stack is the last item
removed from a stack.
ā¢ Compiler store the local variable inside the stack.
5. Push and Pop
ā¢ Writing a value to the stack is called push.
ā¢ Deleting a value from stack is called pop.
6. #include <stdio.h>
int hcf(int n1, int n2);
int main()
{
int n1, n2;
n1=24;
n2=16;
printf("H.C.F of %d and %d = %d", n1, n2, hcf(n1,n2));
return 0;
}
int hcf(int n1, int n2)
{
i f(n2!=0)
return hcf(n2, n1%n2);
else
return n1;
}
8. Heap
ā¢ The heap is an area of memory reserved for dynamic
memory allocation.
ā¢ Dynamic allocation is a technique in which a program
can acquire storage space in main memory.
ā¢ In this method , the space for the program is allocated
from the free space during execution of the program.
ā¢ This free space is called Heap
9. Memory allocation functions
1. malloc()
This function is used to allocate memory space in
bytes to the variable of different data types.
Example: ptr = (int*)malloc(20);
Ptr=(data type*)malloc(given size);
10. #include<stdio.h>
#include<stdlib.h>
main()
{
int k,*p,j=0,sum=0;
printf("How many numbers:");
scanf("%d",&k);
p=(int*)malloc(k*sizeof(int));
printf("n enter the numbers");
while(j!=k)
{
scanf("%d", p+j);
j++;
}
j=0;
printf("sum: ");
while(j!=k)
{
sum=sum+*(p+j);
j++;
}
printf("%d",sum);
}
How many numbers:3
enter the numbers: 1 2 3
Sum: 6
11. 2. calloc()
ā¢ This function is useful for allocating multiple blocks
of memory . It is declared with two arguments.
ā¢ It allocate 4 blocks of memory and each block
contain 2 bytes
ā¢ This function is usually used for allocating memory
for array and structure
Ptr =(int*)calloc(4,2);
12. #include<stdio.h>
#include<stdlib.h>
main()
{
int k,*p,j=0,sum=0;
printf("How many numbers:");
scanf("%d",&k);
p=(int*)calloc(k,2);
printf("nenter the numbers");
while(j!=k)
{
scanf("%d",p+j);
j++;
}
j=0;
printf("sum: ");
while(j!=k)
{
sum=sum+*(p+j);
j++;
}
printf("%d",sum);
}
How many numbers:3
enter the numbers: 1 2 3
Sum: 6
13. 3.free()
ā¢ This function is used to release the memory allocated
by memory allocating functions.
ā¢ ptr is the pointer and free() releases the memory
occupied by the pointer variable.
free(ptr);
14. 4.realloc()
ā¢ This function reallocate the main memory.
ā¢ This are made to shrink or enlarge the previously
allocated memory.
ā¢ It returns the address of the reallocated block.
ā¢ If the block cannot be reallocated returns NULL
16. Stack vs Heap
stack
ā¢ local variables only.
ā¢ limit on stack size.
ā¢ variables cannot be resized.
ā¢ space is managed efficiently
by CPU, memory will not
become fragmented .
heap
ā¢ variables can be accessed
globally .
ā¢ no limit on memory size.
ā¢ variables can be resized
using realloc() .
ā¢ no guarantee on efficient use
of space.
17.
18. Want to learn more about programming or Looking to become a good programmer?
Are you wasting time on searching so many contents online?
Do you want to learn things quickly?
Tired of spending huge amount of money to become a Software professional?
Do an online course
@ baabtra.com
We put industry standards to practice. Our structured, activity based courses are so designed
to make a quick, good software professional out of anybody who holds a passion for coding.
19. Follow us @ twitter.com/baabtra
Like us @ facebook.com/baabtra
Subscribe to us @ youtube.com/baabtra
Become a follower @ slideshare.net/BaabtraMentoringPartner
Connect to us @ in.linkedin.com/in/baabtra
Give a feedback @ massbaab.com/baabtra
Thanks in advance
www.baabtra.com | www.massbaab.com |www.baabte.com
20. Emarald Mall (Big Bazar Building)
Mavoor Road, Kozhikode,
Kerala, India.
Ph: + 91 ā 495 40 25 550
NC Complex, Near Bus Stand
Mukkam, Kozhikode,
Kerala, India.
Ph: + 91 ā 495 40 25 550
Cafit Square,
Hilite Business Park,
Near Pantheerankavu,
Kozhikode
Start up Village
Eranakulam,
Kerala, India.
Email: info@baabtra.com
Contact Us