- 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.