1.什么是结构体
是一种复合变量,它可以是变量、数组或结构等类型的集合,通常用于程序参数传递或数据交换
可分为命名结构体和匿名结构体
2.创建结构体
{}
来创建
eg.
IDL> struct1={str1,a:1,b:2}
IDL> help,struct1
** Structure STR1, 2 tags, length=4, data length=4:
A INT 1
B INT 2
str1为结构体的名称,两个成员变量分别为a,b
3.结构体可以继承
用于增加成员
IDL> struct2={str2,inherits str1,c:3}
IDL> help,str2
STR2 UNDEFINED = <Undefined>
IDL> help,struct2
** Structure STR2, 3 tags, length=6, data length=6:
A INT 0
B INT 0
C INT 3
4.创建结构体数组
用replicate
函数来创建结构体数组,其调用方式如下
IDL> structs=replicate(struct2,10)
IDL> help,structs
STRUCTS STRUCT = -> STR2 Array[10]
IDL> print,structs
{ 0 0 3}{ 0 0 3}{ 0 0 3}
{ 0 0 3}{ 0 0 3}{ 0 0 3}
{ 0 0 3}{ 0 0 3}{ 0 0 3}
{ 0 0 3}
IDL>
5.创建匿名结构体
与创建结构体类似,只是不需要赋予结构体名称
6.访问结构体
用变量名.成员名
或是变量名.index
的方式来访问
注意:
结构体一旦创建,其成员变量个数及数据类型是无法修改的
7.结构体操作函数
CREAT_STRUCT()
help,* * *,/struct
N_TAGS()
TAG_NAMES()