Octave 编程教程/结构体数组
外观
第一章:教程介绍
第二章:基本 Octave 概念
第三章:数据存储和操作
数据类型和点值操作
数组和矩阵
第四章:M 文件编程
第五章:图形
第六章:数学操作
线性代数
微分方程
第七章:示例
Octave 中的结构体将不同数据类型称为字段,组合成一个对象。字段通过其名称访问。
结构体通过为其字段赋值来声明。句点 (.) 分隔字段名称和结构体名称
>> city.name = 'Liege'; >> city.country = 'Belgium'; >> city.longitude = 50.6333; >> city.latitude = 5.5666;
结构体的字段及其值可以通过简单地输入结构体的名称来显示
>> city city = { name = Liege country = Belgium longitude = 50.633 latitude = 5.5666 }
结构体可以像任何对象一样被复制
>> city_copy = city;
在大多数情况下,结构体的字段可以使用句点运算符进行操作。字段的值可以通过以下方式覆盖
>> city.name = 'Outremeuse';
同样,字段的值可以通过以下方式检索
>> city.name ans = Outremeuse
函数 isstruct 可用于测试对象是否为结构体。使用函数 fieldnames,所有字段名称将作为元胞数组返回
>> fieldnames(city) ans = { [1,1] = name [2,1] = country [3,1] = longitude [4,1] = latitude }
要测试结构体是否包含给定名称的字段,可以使用函数 isfield
>> isfield(city,'name') ans = 1
可以使用 getfield 提取字段的值
>> getfield(city,'name') ans = Liege
类似地,可以使用 setfield 设置字段的值
>> setfield(city,'name','Outremeuse')
函数 isfield、getfield 和 setfield 在结构体名称在程序执行期间确定时非常有用。