|
>Date: Mon, 28 Feb 2000 14:51:50 -0800 >From: Jim Langston <jlangston@conexfreight.com> > >D MyPointer S * >D MyField S 50 >C Eval MyPointer = %Addr(MyField) > >Is that equivalent to: > >D MyPointer S * >D MyField S 50 Based(MyPointer) > ... Jim, no, they're not equivalent. In the first example, MyField occupies a fixed storage location. MyPointer is not specifically connected to MyField. In the second example, MyField occupies a variable storage location (the storage pointed to by MyPointer). MyPointer is explicitly associated with MyField; you can access the storage that MyPointer points to by using the name MyField. Your examples ARE somewhat similar: in both,MyPointer and MyField associated with the same storage, **sometimes**. The difference is that in the first example, this depends on MyPointer being set to the address of MyField; in the second example, it depends on MyPointer being non-null. For those who speak C, here are rough equivalents to the RPG examples above. Example 1: int *MyPointer; int MyField; MyPointer = &MyField; Example 2: int *MyPointer; // MyField is equiv. to *MyPointer Barbara Morris +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact copyright@midrange.com.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.