IDL 指针

时间:2022-05-08 00:36:42

IDL指针与C、C++和FORTRAN等其他程序语言的指针不同,它所处的多变量是可以动态分配内存的全局变量,不只想真正的内存地址

1.创建和访问指针

  指针用指针函数Ptr_New()来创建,通过“*”+指针变量名来访问

IDL> pointer=ptr_new(3d)
IDL> help,pointer
POINTER POINTER = <PtrHeapVar1>
IDL> print,*pointer
3.0000000

  指针赋值与变量赋值不一样,指针赋值是使两个指针只想同一堆变量,修改任意一个会影响另一个

IDL> var1=1.0
IDL> var2=var1
IDL> ptr1=ptr_new(var1)
IDL> ptr2=ptr1
IDL> help,var1,var2,ptr1,ptr2
VAR1 FLOAT = 1.00000
VAR2 FLOAT = 1.00000
PTR1 POINTER = <PtrHeapVar2>
PTR2 POINTER = <PtrHeapVar2>
IDL> *ptr1=6
IDL> print,*ptr1,*ptr2
6 6