1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-29 10:30:36 +00:00
QB64-PE/internal/help/VARPTR.txt
SteveMcNeill 33adc04fc4 Add temp folder to repo. It's necessary as well!
Just more initial setting on... nothing much to see here.
2022-04-28 13:39:56 -04:00

26 lines
1.2 KiB
Plaintext

The '''VARPTR''' function returns an [[INTEGER]] value that is the offset part of the variable or array memory address within it's segment.
{{PageSyntax}}
:: offset% = VARPTR(variable_name[(reference_index%)])
* If variablename is not defined before VARPTR or [[VARSEG]] is called, the variable is created and it's address is returned.
* Reference index is used to set the offset address of an array index, not necessarily the lowest index.
* When a string variable, VARPTR returns the offset address location of the first byte of the string.
* Because many Qbasic statements change the locations of variables in memory, use the values returned by VARPTR and VARSEG immediately after the functions are used!
* Integer array sizes are limited to 32767 elements when using [[VARPTR]] in QB and '''QB64'''!. Create a larger array using [[_BYTE]]. Example: [[DIM]] [[SHARED]] Memory (65535) AS [[_UNSIGNED]] [[_BYTE]]
* '''Warning: DEF SEG, VARSEG , VARPTR, PEEK or POKE access QB64's emulated 16 bit conventional memory block!'''
: '''It is highly recommended that QB64's [[_MEM]] memory system be used to avoid running out of memory.'''
''See also:''
* [[BSAVE]], [[BLOAD]]
* [[SADD]], [[DEF SEG]]
* [[VARPTR$]], [[VARSEG]],
* [[POKE]], [[PEEK]]
{{PageNavigation}}
<