帮助解释两类变量的区别
.....
{
int *p=new int;
int i;
}
.....
书上说p所指的内存是运行到 new int 时动态分配的,i的内存是编译时分配的。
我的问题是,程序退出{ },i不是不存在了吗,当再次进入{ }时由系统再次定义i,即再次分配i内存,这些工作不是在运行时完成的吗?
我的问题是i变量的内存空间究竟是编译时,还是运行时分配的,和*p的内存区域本质的不同在哪里(我知道i,*p占用不同的内存区域,生命期也不相同)。
...全文
746打赏收藏
帮助解释两类变量的区别
帮助解释两类变量的区别 ..... { int *p=new int; int i; } ..... 书上说p所指的内存是运行到 new int 时动态分配的,i的内存是编译时分配的。 我的问题是,程序退出{ },i不是不存在了吗,当再次进入{ }时由系统再次定义i,即再次分配i内存,这些工作不是在运行时完成的吗? 我的问题是i变量的内存空间究竟是编译时,还是运行时分配的,和*p的内存区域本质的不同在哪里(我知道i,*p占用不同的内存区域,生命期也不相同)。