IDL의 포인터
여러개의 함수나 프로시저를 이용하여 하나의 프로그램을 만들다보면 포인터를 이용하는게 편한 경우들이 생깁니다. C언어 같은 경우에는 변수 앞에 &표시를 이용해서 포인터를 바로 얻을 수 있지만, IDL에서는 그런 일이 발생하지는 않죠. 그래도 IDL에서는 포인터를 이용할 수 있도록 ptr_new라는 함수를 지원하고 있습니다. 다음과 같이 쉽게 이용할 수 있네요.
1 2 3 4 5 6 7 8 9 10 |
IDL> a=indgen(10) IDL> b=ptr_new(a) IDL> help,a,b A INT = Array[10] B POINTER = <PtrHeapVar3> IDL> c=ptr_new(a,/no_copy) IDL> help,a,b,c A UNDEFINED = <Undefined> B POINTER = <PtrHeapVar3> C POINTER = <PtrHeapVar4> |
보시면 A라는 10개 크기의 INT형 배열이 있는 것을 볼 …