我有一个小的 C 代码,它通过修改堆栈地址处的数据来演示运行时堆栈功能。
#include <stdio.h>
int * fun() {
int a = 10;
return &a;
}
int * fun2() {
int b = 20;
return &b;
}
int main () {
int *a = fun();
int *b = fun2();
printf("a:%d b:%d\n", *a, *b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
其输出为:a:20 b:20,显示“fun2”中的“b”使用与“fun”中的“a”相同的堆栈地址。
我也想在 Rust 中测试这个。做到这一点最简单的方法是什么?
我尝试借用,但编译器说“没有借用价值”。