小编one*_*ero的帖子

以下 C 代码的 RUST 等价物是什么?

我有一个小的 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 中测试这个。做到这一点最简单的方法是什么?

我尝试借用,但编译器说“没有借用价值”。

c stack-memory rust borrow-checker stack-pointer

0
推荐指数
1
解决办法
296
查看次数

标签 统计

borrow-checker ×1

c ×1

rust ×1

stack-memory ×1

stack-pointer ×1