Function realloc () in C

The realloc () function attempts to recover the memory block pointed to by the ptr pointer that was previously allocated with a call to malloc or calloc.

The realloc () function attempts to recover the memory block pointed to by the ptr pointer that was previously allocated with a call to malloc or calloc.

Declare the function realloc () in C

Below is the declaration for realloc () in C:

 void * realloc ( void * ptr , kich - co ) 

Parameters

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

kich-co : This is the new size for the memory block. If the value is 0 and the pointer ptr points to an existing memory block, the memory block pointed to by ptr is freed and a NULL pointer is returned.

Returns the value

This function returns a pointer to the newly allocated memory, or returns NULL if the request fails.

For example

The following C program illustrates the usage of realloc () in C:

 #include #include #include int main () { char * str ; /* lan cap phat bo nho ban bau */ str = ( char *) malloc ( 15 ); strcpy ( str , "QTM" ); printf ( "Chuoi = %s, tai Dia chi = %un" , str , str ); /* tai cap phat lai bo nho */ str = ( char *) realloc ( str , 25 ); strcat ( str , "@gmail.com" ); printf ( "Chuoi = %s, tai Dia chi = %un" , str , str ); free ( str ); return ( 0 ); } 

Compile and run the above C program to see the results.

According to Tutorialspoint

Previous post: malloc () function in C

Next lesson: Abort () function in C

4 ★ | 1 Vote