Changes data-segment space allocation
int brk(void *addr);
brk dynamically changes the amount of space allocated to the calling
program's heap by resetting the program's break value to addr.
brk and sbrk will fail without making any change in the allocated space if
such a change would allocate more space than is allowable.
brk returns 0
On error, both functions return -1 and
set errno to ENOMEM (not enough memory).
printf("Changing allocation with brk()\n");
ptr = (char *) malloc(1);
printf("Before brk() call: %lu bytes free\n", coreleft());
printf(" After brk() call: %lu bytes free\n", coreleft());