← index
cplusplus11.Examples/UNIX/memory/realloc.cpp
Source: cplusplus11.Examples/UNIX/memory/realloc.cpp
#include<iostream>
#include<cstdlib>
#include<cstdio>

int main() {
    char *buf = (char*)realloc(NULL, sizeof(char) * 12); // initial alloc
    snprintf(buf, 12, "Hello World");
    std::cout << "initial alloc: " << "12 bytes..\n buf is: " << buf << "\n";
    char *nbuf = (char*)realloc(buf, sizeof(char) * 25); // resize memory buffer
    snprintf(nbuf, 25, "%s", "Hello World :) Resized");
    std::cout << "after realloc: " << "25 bytes..\n buf is: " << nbuf << "\n";
 
    free(nbuf); // release memory
    return 0;
}