【发布时间】:2015-03-23 06:04:53
【问题描述】:
void foo() {
int i = 3;
bar();
}
void bar() {
//print i in foo()
}
我想知道是否有某种方法可以在不设置全局变量的情况下做到这一点?
【问题讨论】:
-
没有,但更重要的是,您为什么需要这样做?
-
你为什么要这样做?如果没有您想要显示的任何地址或值,这是不可能的。
-
没有看到你的作业我不能说,但我敢说你只需要分区步骤中枢轴的值。您应该能够在单独的步骤中预先计算它。
-
我认为你遗漏了一些重要的东西。 C 中的数组是一个连续的内存块,由其第一个元素的地址标识。因此,如果您的数组是
1, 2, 3, 4 ,5,您可以将4的地址传递给一个函数(连同调整后的大小),它会认为它正在查看一个数组4, 5。这就是快速排序的全部递归性质。 -
指针运算!我完全没有想到这一点,谢谢!
标签: c