[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
8 References
--------------------------------------------------------------------------------
It is important to distinguish between the different meanings of
the word "reference." In Clipper, there are two distinct kinds of
references:
1. An object reference (an OREF): This is a special internal
quantity that identifies the location of a character, array, or
code block value in virtual memory. Because these kinds of
values can be very large, a VALUE cannot directly contain them.
Instead, the VALUE contains an OREF that allows the data to be
located when needed. Whenever necessary, the system performs a
de-referencing operation in order to convert an OREF into an
actual memory address.
2. A variable reference (a VREF): Like an OREF, a VREF is a
special internal quantity. Instead of referring to a piece of
data, however, a VREF refers to a Clipper variable. A VREF is
created whenever a variable is passed by reference in a function
call or DO...WITH statement. VREFs are special in that they
only exist on the Eval Stack, and only as parameters during a
function call. A VREF cannot be assigned to a variable or
stored in an array.
-----------------------------------------------------------------
. Notes
. A bug in Clipper 5.0/5.01 allows a VREF to be assigned
to a variable in certain cases. This behavior is
unintentional and will be eliminated in future releases.
. When dealing with C, the terminology of references
becomes somewhat murky. This is because C programmers often
use the words reference and pointer interchangeably. Where
Clipper is involved, however, the two words have very
distinct meanings. A reference is one of the special
quantities discussed above. A pointer is an actual memory
address or a C variable containing such an address.
-----------------------------------------------------------------
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson