栈:程序每调用一个函数后,建立一个新的栈帧保存当前调用函数的所有局部变量,也就是说每个函数里面的变量都是在这个函数的栈帧内,
堆:程序运行过程中,向操作系统(OS)申请的系统内存(Mem),系统返回堆空间的地址。
栈帧:变量的所在地 ,变量可直接存取数值
堆:向系统申请的内存空间,通过函数内的指针变量,赋值指针申请内存返回的地址,用于存取堆空间里的数据
不同之处:
栈帧在函数结束时会自动释放,
堆则需要主动申请释放,或者等程序运行结束。
操作系统会自动释放程序运行期间申请的内存空间。
详细请看操作系统原理,编译原理,或者反汇编原理。
老师讲的没有错,只不过没基础的会懵。
若有错误请指出。满字
堆:程序运行过程中,向操作系统(OS)申请的系统内存(Mem),系统返回堆空间的地址。
栈帧:变量的所在地 ,变量可直接存取数值
堆:向系统申请的内存空间,通过函数内的指针变量,赋值指针申请内存返回的地址,用于存取堆空间里的数据
不同之处:
栈帧在函数结束时会自动释放,
堆则需要主动申请释放,或者等程序运行结束。
操作系统会自动释放程序运行期间申请的内存空间。
详细请看操作系统原理,编译原理,或者反汇编原理。
老师讲的没有错,只不过没基础的会懵。
若有错误请指出。满字
2017-11-05
调用默认构造函数实例化对象 Student stu(); 后面有扩号编译将报错,不加扩号Student stu;编译正常。
2017-10-17