int *p;
void foo()
{
int i = 5;
p = &i;
}
void foo1()
{
printf("%d\n", *p);
}
int main()
{
foo();
foo1();
return 0;
}
出力: 5 (foo1() は i の値を出力します)
注:Linuxでこのプログラムを実行しています
私の知る限り、ローカル自動変数のスコープはブロック/関数の寿命に制限されています。
- foo() 内のこの変数 i は、どのメモリ セグメントに格納されますか? または、関数のすべてのローカル変数はどこに格納されますか?
- 別の関数からこれにアクセスするにはどうすればよいですか?