7.3 结构数组
一个数组是一个数据类型,这种数组类型有一个名字,但是在这个数组中的单个元素只能通过已知的数字进行访问。比如,数组 arr
中的第五个元素可由 arr(5)
访问。注意,在这个数组中的所有元素都必须是同一类型(数字或字符)。那么,如果我们需要一个可以包含不同类型元素的数组呢?这时候就需要用到单元阵列和结构数组了。
一个单元阵列也是一种数据类型,也有一个名字,单个元素也只能通过已知的数字进行访问。但是这个单元阵列中元素的数据类型可以是不同的。比如,你可以有一个单元阵列包含数字、字符、甚至另一个数组。
相对地,一个结构也是一种数据类型,但它更加强大。它的每一个元素都有一个名字,这些元素被称为域。你可以通过结构名和域名来访问这些元素,用句号隔开。
7.3.1 创建结构的方法
创建结构有两种方法:
-
用赋值语句创建
-
用函数
struct
函数进行创建
7.3.1.1 用赋值语句创建结构
你可以用赋值语句一次创建一个结构域。每一次把数据赋值于一个域,这个域就会被自动创建。用下面的语句创建如图 7.6 所示的结构:
>> student.name = 'John Doe';
>> student.addr1 = '123 Main Street';
>> student.city = 'Anytown';
>> student.zip = '71211'
结果如下:
student =
name: 'John Doe'
addr1: '123 Main Street'
city: 'Anytown'
zip: '71211'
第二个 student
可以通过在结构名前加上一个下标的方式加入到这个结构中:
>> student(2).name = 'Jane Q. Public'
这时候,student
变成了一个 1x2 的结构数组:
student =
1x2 struct array with fields:
name
addr1
city
这样,我们就成功创建了一个结构数组。是不是觉得操作非常简单直观呢?
暂无评论