<1> 命名结构体和匿名结构体
ENVI> person={per,age:56,country:'USA',Name:'Jack'}
ENVI> help,person
** Structure PER, 3 tags, length=40, data length=34:
AGE INT 56
COUNTRY STRING 'USA'
NAME STRING 'Jack'
ENVI> a={a:1,b:2,c:3}
ENVI> a
% Attempt to call undefined procedure/function: 'A'.
% Execution halted at: $MAIN$
ENVI> help,a
** Structure <12e08aa0>, 3 tags, length=6, data length=6, refs=1:
A INT 1
B INT 2
C INT 3
ENVI>
<2> 结构体取值
ENVI> help,person.(2)
<Expression> STRING = 'Jack'
ENVI> help,person.age
<Expression> INT = 56
ENVI>
<3> 结构体相关函数
取结构体成员的个数
ENVI> help,n_tags(person)
<Expression> LONG = 3
获取成员名
ENVI> print,tag_names(person)
AGE COUNTRY NAME
ENVI>
获取结构体变量的结构体的名称
ENVI> print,tag_names(person,/s)
PER
匿名结构体就是空的
ENVI> print,tag_names(a,/s)
ENVI>
<4> 结构体的继承
={p3,inherits per,company:'cug'}
ENVI> print,p3
% PRINT: Variable is undefined: P3.
% Execution halted at: $MAIN$
ENVI> print,p
{ 0 cug}
结构体的动态扩展
ENVI> p4=create_struct(person,'company','cug')
ENVI> print,p4
{ 56 USA Jack cug}