1
1
Fork 0
mirror of https://github.com/DualBrain/QB64.git synced 2023-11-19 13:10:13 +00:00
QB64-website/wiki/VARSEG.md
2022-12-24 19:12:43 -06:00

1.3 KiB

The VARSEG function returns an INTEGER value that is the segment part of a variable or array memory address.

Syntax

DEF SEG = VARSEG(variable_name[(start_index)])

  • If variablename is not defined before VARPTR or VARSEG is called, the variable is created and its address is returned.
  • The start index is the lowest index of an array variable when used.
  • When a string variable, VARSEG returns the segment location address 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 VARSEG 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