关于函数返回自动存储类型的变量问题

img

img


这是正常运行时的状态,没问题。

img

img

改了存储类型后就出错了,查了些资料,说因为是自动类型,函数结束后内存就释放了,可是很多函数可以返回比如一个int类型的自动变量的值,为什么到这就不行了呢?求牛人解惑🙏

跟返回值和类型无关,是因为这个数组是函数内声明的局部变量,只在函数内有效,函数结束后,数组所占内存空间被释放,你返回去的指针所指的内存值为止,也就是形成了一个野指针。

楼上说的对,还有为啥数组binary的空间不开大一点,都溢出了