函数返回结构体局部变量的指针.函数结束,局部变量不是被释放了吗,为什么返回的局部结构体指针还可以用 typedef struct int score char sno
在return的时候,局部变量还在生命周期中,所以当然可以。建议回去重学一下基本原理。
函数的形参确实被视为局部变量,其生命周期仅限于函数执行期间。如果形参是一个指针,通过该指针访问和修改它所指向的内存空间是可能的。当函数结束时,该指针形参的作用域也随之结束,但指针所指向的内存空间仍然存在,因此可以通过指针修改该空间的内容。然而,返回形参本身作为局部变量是不合理的,因为函数...
返回的是局部变量地址,返回后局部变量(那个字符数组)空间被销毁。题主说的返回局部变量指针地址成功,...
s把s1的地址返回给了p,然后局部变量s1和*s都被释放掉了,但是s1那块地方存放的值还是在的,并且p指向了它的地址。但要注意,s1那块内存已经自由的了,你之所以输出对的值,是因为程序中别的地方申请内存的时候恰巧没申请到这一块因此没人改了它。你这样做虽然结果对了,但是一,如上述会出现被...
因为变量 reverse_hex[] 被分配在函数 turn_reverse_hex()栈中,比如说其值为 0x1234。退出函数后,...