ローカル変数はスタック領域に確保される。一方malloc()で確保したメモリは ヒープ領域に確保される。ヒープ領域に確保したメモリはfreeで開放する必要 がある。
#include <stdlib.h>
#include <stdio.h>
int main(void) {
char foo;
foo = 0;
char *bar;
bar = (char *) malloc(1);
*bar = 0;
free(bar);
printf("OK\n");
return 0;
}