- This wiki is out of date, use the continuation of this wiki instead
Pointer
From FenixWiki
| Revision as of 02:39, 13 May 2007 (edit) Sandman (Talk | contribs) m ← Previous diff |
Revision as of 22:36, 29 May 2007 (edit) (undo) Sandman (Talk | contribs) Next diff → |
||
| Line 4: | Line 4: | ||
| == Definition == | == Definition == | ||
| - | + | === Statement === | |
| + | Declaration of a pointer:<br> | ||
| + | <datatype> POINTER <pointername><br> | ||
| + | <datatype> * <pointername> | ||
| - | '''Pointer'''s, are used to point to a location in [[memory]]. It uses 32 [[bit]]s (4 [[byte]]s) so it can map 4GB of memory into bytes. '''Pointer'''s can point to any datatype: [[int]]s, [[short]]s, [[string]]s | + | Assignment of a value to the location pointed to:<br> |
| + | POINTER <pointername> = <value>;<br> | ||
| + | <nowiki>*</nowiki> <pointername> = <value>; | ||
| + | |||
| + | === Concept === | ||
| + | '''Pointer'''s, are used to point to a location in [[memory]]. It uses 32 [[bit]]s (4 [[byte]]s) so it can map 4GB of memory into bytes. '''Pointer'''s can point to any [[datatype]]: [[int]]s, [[short]]s, [[string]]s or even usermade datatypes. | ||
| == Example == | == Example == | ||
| Line 26: | Line 34: | ||
| say(*my_int_pointer); | say(*my_int_pointer); | ||
| - | | + | Repeat |
| frame; | frame; | ||
| - | | + | Until(key(_esc)) |
| + | |||
| End | End | ||
| </pre> | </pre> | ||
| - | The & (offset) operator, when used with pointers, returns a [[void]] pointer to a variable. In the example it returns an int pointer to the variable my_int. The * (pointer) operator, when used with pointers, makes it so the pointer variable is not accessed, but the variable it's pointing to. In the example it changes access from my_int_pointer to my_int. | + | The & ([[offset]]) operator, when used with pointers, returns a [[void]] pointer to a variable. In the example it returns an int pointer to the variable my_int. The * (pointer) operator, when used with pointers, makes it so the pointer variable is not accessed, but the variable it's pointing to. In the example it changes access from my_int_pointer to my_int. |
Revision as of 22:36, 29 May 2007
Contents |
Definition
Statement
Declaration of a pointer:
<datatype> POINTER <pointername>
<datatype> * <pointername>
Assignment of a value to the location pointed to:
POINTER <pointername> = <value>;
* <pointername> = <value>;
Concept
Pointers, are used to point to a location in memory. It uses 32 bits (4 bytes) so it can map 4GB of memory into bytes. Pointers can point to any datatype: ints, shorts, strings or even usermade datatypes.
Example
Program pointers;
Private
int my_int;
int pointer my_int_pointer;
Begin
my_int_pointer = &my_int;
my_int = 3;
say(my_int);
say(*my_int_pointer);
*my_int_pointer = 4;
say(my_int);
say(*my_int_pointer);
Repeat
frame;
Until(key(_esc))
End
The & (offset) operator, when used with pointers, returns a void pointer to a variable. In the example it returns an int pointer to the variable my_int. The * (pointer) operator, when used with pointers, makes it so the pointer variable is not accessed, but the variable it's pointing to. In the example it changes access from my_int_pointer to my_int.
