![](https://i-blog.csdnimg.cn/blog_migrate/4c183410322ac16b49f314d54f7c60e7.png)
解释:当执行到第①步时,即主函数时,在栈内存中开辟一块名为main的内存空间。
当执行到第②步时,会首先在main内存中创建一个类型为Demod,名为d的变量;并在堆内存中开辟一块名为Demod的内存空间,为变量X赋默认值0,然后全局变量x=3的值取代0;
当执行到第③步时,堆内存中的x值变为9;
当执行到第④步时,会在栈内存中开辟一块名为show的内存空间,并创建一个类型为Demod,名为d的变量;当执行到show方法时,会将main里的d的值赋值给show里的变量d,即Demod的内存地址,show里的变量d与堆内存中的Demod建立联系,当执行到d.x=4时,会将堆内存中的变量x的值取代,换成4;
执行完第④步,show从栈内存中弹出。
执行到第⑤步时,输出堆内存Demod里的变量d的值----4;