質問です。
グローバル変数
int x,y;

ローカル関数1
char *c1;
char c2[]="abc";
c1="xyz";
x=(int)c1;
y=(int)c2;
ローカル関数2
printf((char*)x);
printf((char*)y);"

とすると、xのアドレスはローカル関数1で設定した値が読み込めて
yのアドレスは値がおかしくなっているのですが、
メモリが解放されるというのはどういう状況を指すのでしょうか。
c1に設定したメモリは解放されるのでしょうか。よろしくお願いします。