私たちは火曜日に私たちのCS中間研究を勉強しています。(C++メモリ管理)int x = 1234、int&y = x ...の場合、スタックのyのアドレスはどうなりますか?
void foo(int &x)
{
x = 1000;
}
void bar(int *x)
{
*x = 1000;
}
void foobar(int x)
{
x = 1000;
}
int main()
{
int x = 1234;
int &y = x;
int *z = &x;
int array_1[5];
int *array_2[5];
array_1[0] = 10;
array_2[0] = (int*)10;
array_2[1] = &y;
array_2[2] = &x;
foo(x);
foo(y);
foo(*z);
bar(&x);
bar(&y);
bar(z);
foobar(x);
foobar(y);
foobar(*z);
return 0;
}
我々がしようとしている:
「はさらに、あなたのような、いくつかのコード与えられたメモリ図を描くことができる必要があります:」
私たちの教授は、次のような、オンラインいくつかの研究材料を入れて一度に1ステップずつ進んで、スタックに割り当てられているもの、ヒープに割り当てられているもの、それぞれの値は何かを確認します。 & yはxのアドレスを保持しているが、& Y = &のx ...ので、yのアドレスは何ですか:
私たちは理解していないのですか?同様に、スタックはyを保持する必要はありませんか?
[参照のアドレスを見つける方法はありますか?](http://stackoverflow.com/questions/1950779/is-there-any-way-to-find-the-address-of) -a-reference)。 –
あなたのクラスノートと教科書は、この問題について何を言いますか? –
質問は正確な重複ではないと思いますが、@CarlNorumによってリンクされた質問に対する回答は、確かに関連性があり読解価値があります。 –