2013-10-04 71 views
2

在Visual Foxpro中可能有2個變量指向內存中的相同地址。這樣,如果其中一個變量的值發生變化,另一個變化。我明白,當將參數傳遞給函數時,它們可以通過值或引用傳遞,但我想知道這是否可以用直接代碼。我認爲在其他語言如C這稱爲一個指針,但我不認爲VFP有指針。因此,如果有人寫下面的代碼,它會輸出數字4.是否有可能有2個變量指向內存中的相同地址

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 

回答

1

號有FoxPro中沒有指針或引用;正如你注意到的,最接近它的是通過引用函數來傳遞參數。您可能會嘗試使用Access/Assign方法將對象聚合在一起(如Jerry提及的),但即使如此,所有傳遞給Assign方法的值都是要賦值的值 - 與它本來是否是另一個值無關變量,文字值,對象屬性等。

您可以使用數組或表格來模擬它。變量只包含數組索引或記錄號(或其他索引)作爲參考,您必須從數組或表中獲取實際值。

+0

這是偉大的感謝。我不是特別想做(現在),但我只是想確保它不可能。 – Caltor

1

看看Visual Foxpro訪問和分配方法。這些方法可用於在查詢屬性或嘗試更改屬性值時執行代碼。下面是示出了示例的鏈接:

Access and Assign Example

1

你可以做這樣的事情:

a=4 
b='a' 
a=6 
?&b 
相關問題