或者说退出函数后这个空间就没法使用了那么编译器怎样处理这个空间的,另外如果函数里面定义了一段数组将这个数组的指针返回,那么这个数组使用安全么... 或者說退出函数后这个空间就没法使用了那么编译器怎样处理这个空间的,另外如果函数里面定义了一段数组将这个数组的指针返回,那麼这个数组使用安全么
1编译器不处理,由运行时处理或者说由系统堆管理器管理,通常堆上malloc分配的内存程序退出前不会释放,没有指针又不能使用造成一定的泄露。
2如果是函数内的数组,在函数堆栈内开辟函数返回后堆栈弹出,这段数组空间不再有效
如果是鈈再有效也就罢了,如果这个数组你使用溢出会导致函数返回地址被改变,导致不可预料的后果
当然如果精心计算,就会成为堆栈溢絀攻击的入手点
你对这个回答的评价是?