강좌 / 팁
소프트웨어 pureBasic 포인트 기본 이해
2024.03.25 15:10
@ <--- 변수 메모리 주소값을 의미 한다.
EnableExplicit
Define var1 = 1
Procedure Test1(Var1.l)
Debug "받은 값 " + Var1
Protected t1.l = 5
t1 = t1 + 100
Var1 = t1
Debug "로컬 내부 연산 값 " + var1
EndProcedure
Procedure Test3(*Var1)
Debug "mem Address " + *Var1
Protected t1.l = PeekL(*Var1) ;; *Var1 택배 주소에 있는 물건을 t1 창고에 전달 했다.
t1 = t1 + 100
PokeL(*Var1, t1) ;; t1 창고에 있는 물건을 *var1 택배 주소로 전달 했다.
Debug "로컬 내부 연산 값 " + t1
Debug "본래 주소 값 " + *Var1
EndProcedure
Test1(var1)
Debug "Result1: " + var1
Test1(@var1)
Debug "Result2: " + var1
;;둘다 전역과 로컬 값이 다르다는 것을 확인 할 수 있다.
Test3(@Var1)
Debug "Result3: " + var1
참고. 데이터 형태에 따라 메모리 주소에 있는 값 주고 받는 함수들
어려운 부분이 시작되었네요
맨 아래에서 "2번째 줄에 전역변수 선언을 해서 값을 유지할수 있지만"에도 조금 뜨끔했습니다
VB6이나 오토잇을 사용할때 다른 함수에서 리턴하는것을 잘 못해서 전역 변수로 선언해서 활용을 하고 있습니다
자세한 설명에 감사드립니다