2

在 Visual Foxpro 中是否有可能有 2 个变量指向内存中的相同地址。这样如果其中一个变量的值发生变化,那么另一个变量也会发生变化。我知道在将参数传递给函数时,它们可以通过值或引用传递,但我想知道这是否可以在直接代码中实现。我认为在 C 等其他语言中,这称为指针,但我不相信 VFP 有指针。因此,如果编写以下代码,它将输出数字 4。

 a=4
 b=a
 a=6
 ? b    && answer 4

但是,是否可以编写如下代码,其中答案可能是 6?

 a=4
 b=*a   && note the inclusion of the asterisk (pointer?) here which won't compile in VFP
 a=6
 ? b
4

3 回答 3

1

查看 Visual Foxpro 访问和分配方法。这些方法可用于在查询属性或尝试更改属性值时执行代码。下面是一个显示示例的链接:

访问和分配示例

于 2013-10-04T13:07:13.953 回答
1

没有。Foxpro 中没有指针或引用;正如您所注意到的,最接近它的是通过引用函数来传递参数。您也许可以尝试使用 Access/Assign 方法将某些东西与对象组合在一起(正如 Jerry 所提到的),但即便如此,传递给 Assign 方法的只是被分配的值 - 与它最初是否是另一个变量无关,文字值、对象的属性等。

您可以使用数组或表格来模拟它。变量将仅包含数组索引或记录号(或其他索引)作为参考,您必须从数组或表中获取实际值。

于 2013-10-04T14:35:01.210 回答
1

你可以这样做:

a=4
b='a'
a=6
?&b
于 2013-10-07T14:13:26.550 回答