EDIT2: There are many ways to do this:
'Passing the value (read only)
FUNC1 VAR("A")
FUNC1 A 'same
DEF FUNC1 V
PRINT V
V=3 'DOES NOT WORK
END
'passing the name (only works with global variables)
FUNC2 "A"
DEF FUNC2 V$
PRINT VAR(V$)
VAR(V$)=3
END
'input and output (works with anything)
FUNC3 VAR("A") OUT VAR("A")
FUNC3 A OUT A 'same
VAR("A")=FUNC3(VAR("A")) 'same
A=FUNC3(A) 'same
DEF FUNC3 V_IN OUT V
V=V_IN 'get value
PRINT V
V=3
END
'using arrays to cheat:
'(arrays are passed as reference type always, so changing an array inside a function will change the real array, unlike with number variables)
DIM A[1]
FUNC4 VAR("A")
FUNC4 A 'same
DEF FUNC4 V[]
PRINT V[0]
V[0]=3
END