10
C PROGRAMMING PRESENTATION Topic: Realloc Function Presented By: Sakshi Singh BCA I(M) Rank- 1359

Realloc Function

Embed Size (px)

Citation preview

Page 1: Realloc Function

C PROGRAMMING PRESENTATION

Topic: Realloc Function

Presented By:Sakshi SinghBCA I(M)Rank- 1359

Page 2: Realloc Function

Content• Description• Declaration• Returning Value• Parameters• Example• Explanation• Output

Page 3: Realloc Function

DESCRIPTION Characteristics•Realloc function reallocates the main memory.

• It is needed when allocated memory is different from

desired memory.

• It returns the address of reallocated blocks.

• If the block cannot be reallocated it returns NULL.

Declaration:

void realloc(void *block, size_t size);

Returning Value:

This function returns a pointer to the newly allocated

memory, or NULL if the request fails.

Required Header File:#include<stdlib.h> OR #include<alloc.h>

Page 4: Realloc Function

PARAMETERS

block -- This is the pointer to a memory block previously allocated with malloc, calloc or realloc to be reallocated. If this is NULL, a new block is allocated and a pointer to it is returned by the function.

size -- This is the new size for the memory block, in bytes. If it is 0 and ptr points to an existing block of memory, the memory block pointed by ptr is deallocated and a NULL pointer is returned.

Page 5: Realloc Function

EXAMPLE:#include<stdio.h>#include<conio.h>#include<string.h>#include<alloc.h>void main(){ char *cptr; clrscr(); cptr=(char*)calloc(10,sizeof(char)); if(!cptr) { printf("Dynamic Memory Allocation Failed"); exit(1); } strcpy(cptr,"Sakshi"); printf("\nInitial Memory Allocation\n"); printf("\nString is %s\nAddress in Decimal Form is %u\nAddress in Hexadecimal Form is %x",cptr,cptr,cptr);

Page 6: Realloc Function

cptr=(char*)realloc(cptr,15); if(!cptr) { printf("Dynamic Memory Allocation Failed"); exit(1); } strcat(cptr," Singh"); printf("\n\nAfter Reallocation\n"); printf("\nString is %s\nAddress in Decimal Form is %u\nAddress in Hexadecimal Form is %x",cptr,cptr,cptr); free(cptr); getch();}

Page 7: Realloc Function

EXPLANATION•In the above program using calloc() function 10 bytes are allocated to character pointer cptr. •Firstly pointer is initialized with string “Sakshi”. •But to store more characters realloc () function is used and 20 bytes are reallocated. •Now pointer is reinitialized with “Sakshi Singh”. •And then free() is used to release the allocated memory.

*cptr

1722 1723 1724 1725 1726 1727 1728 1729 1730 1731

S k s ha i

*cptr

1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750

S k i S ga n hhs i

Page 8: Realloc Function

OUTPUT

Page 9: Realloc Function

BIBLIOGRAPHY

•Ashok N. Kamthane, “Programming in C”, Second Edition,2013, Pearson Education.•Yashwant Kanetkar, “Let us C” Eighth Edition, 2002.•http://www.tutorialspoint.com/c_standard_library/c_function_realloc.htm

•http://cprogrammingexpert.com/C/Tutorial/dynamic_memmory_allocation/realloc.aspx

•http://www.techonthenet.com/c_language/standard_library_functions/stdlib_h/realloc.php

Page 10: Realloc Function

THANK YOU!!!

Presented By:Sakshi SinghBCA I(M)Rank: 1359