Freeing Stack Memory The following program allocates stack memory for the stack_addr variable. Because the memory was allocated on the stack, the program cannot deallocate it. int main (int argc, char *argv[]) { void *stack_addr = &stack_addr; /* Error: freeing a stack address */ free(stack_addr); return 0; }