0
Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# Functions using stack and heap

193

Published on

Published in: Technology
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

• Be the first to like this

Views
Total Views
193
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
15
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Transcript

• 2. Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra &#x2013;Mentoring Partner Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
• 3. Stack &#x2022; Stack is a linear data structure in which a data item is inserted and deleted at one record. &#x2022; A stack is called LIFO(Last In First Out) or FILO(First In Last Out) structure. &#x2022; The first item added to a stack is the last item removed from a stack. &#x2022; Compiler store the local variable inside the stack.
• 4. Push and Pop &#x2022; Writing a value to the stack is called push. &#x2022; Deleting a value from stack is called pop.
• 5. #include &lt;stdio.h&gt; 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; }
• 6. 1.main() n1=24 n2=16 2.hcf(24,16) 3.hcf(16,24%16)=hcf(16,8) 4.hcf(8,16%8)=hcf(8,0)n1=24 n2=16 hcf(24,16) hcf(16,8) hcf(8,0) STACK Representation of stack operation
• 7. Heap &#x2022; The heap is an area of memory reserved for dynamic memory allocation. &#x2022; Dynamic allocation is a technique in which a program can acquire storage space in main memory. &#x2022; In this method , the space for the program is allocated from the free space during execution of the program. &#x2022; This free space is called Heap
• 8. 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);
• 9. #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; main() { int k,*p,j=0,sum=0; printf("How many numbers:"); scanf("%d",&amp;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
• 10. 2. calloc() &#x2022; This function is useful for allocating multiple blocks of memory . It is declared with two arguments. &#x2022; It allocate 4 blocks of memory and each block contain 2 bytes &#x2022; This function is usually used for allocating memory for array and structure Ptr =(int*)calloc(4,2);
• 11. #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; main() { int k,*p,j=0,sum=0; printf("How many numbers:"); scanf("%d",&amp;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
• 12. 3.free() &#x2022; This function is used to release the memory allocated by memory allocating functions. &#x2022; ptr is the pointer and free() releases the memory occupied by the pointer variable. free(ptr);
• 13. 4.realloc() &#x2022; This function reallocate the main memory. &#x2022; This are made to shrink or enlarge the previously allocated memory. &#x2022; It returns the address of the reallocated block. &#x2022; If the block cannot be reallocated returns NULL
• 14. #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; main() { char *str; str=(char*)malloc(6); str=("india"); printf("str=%s",str); str=(char*)realloc(str,10); str=("hindustan"); printf("nnew str=%s",str); free(str); } str=india new str=hindustan
• 15. Stack vs Heap stack &#x2022; local variables only. &#x2022; limit on stack size. &#x2022; variables cannot be resized. &#x2022; space is managed efficiently by CPU, memory will not become fragmented . heap &#x2022; variables can be accessed globally . &#x2022; no limit on memory size. &#x2022; variables can be resized using realloc() . &#x2022; no guarantee on efficient use of space.
• 16. 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.
• 17. 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
• 18. Emarald Mall (Big Bazar Building) Mavoor Road, Kozhikode, Kerala, India. Ph: + 91 &#x2013; 495 40 25 550 NC Complex, Near Bus Stand Mukkam, Kozhikode, Kerala, India. Ph: + 91 &#x2013; 495 40 25 550 Cafit Square, Hilite Business Park, Near Pantheerankavu, Kozhikode Start up Village Eranakulam, Kerala, India. Email: info@baabtra.com Contact Us