结构体的使用有两种:
1.1直接创建
>> number.name = 'kebe';
>> number.age = '1978';
>> number
number =
包含以下字段的 struct:
name: 'kebe'
age: '1978'
1.2创建多个,加下标
>> number(1).name = 'kobe';
>> number(1).age = '1978';
>> number(2).name = 'bryant';
>> number(2).age = '2016';
>> number
number =
包含以下字段的 1×2 struct 数组:
name
age
>> number(1)
ans =
包含以下字段的 struct:
name: 'kobe'
age: '1978'
>> number(2)
ans =
包含以下字段的 struct:
name: 'bryant'
age: '2016'
2、用关键字struct创建
>> number=struct('name',{'kobe','bryant'},'age',{1978,2016});
>> number
number =
包含以下字段的 1×2 struct 数组:
name
age
>> number(1)
ans =
包含以下字段的 struct:
name: 'kobe'
age: 1978
>> number(2)
ans =
包含以下字段的 struct:
name: 'bryant'
age: 2016
3、增加字段
>> number(1).id=24
number =
包含以下字段的 1×2 struct 数组:
name
age
id
>> number(1)
ans =
包含以下字段的 struct:
name: 'kobe'
age: 1978
id: 24
>> number(2)
ans =
包含以下字段的 struct:
name: 'bryant'
age: 2016
id: []
4、删除字段
>> number=rmfield(number,'id');
>> number
number =
包含以下字段的 1×2 struct 数组:
name
age
5、函数fieldnames
fieldnames(number);
>> a = fieldnames(number);
>> a
a =
2×1 cell 数组
{'name'}
{'age' }
6、函数isfield
>> isfield(number,'age')
ans =
logical
1
>> isfield(number,'name')
ans =
logical
1
7、函数isstruct
>> isstruct(number)
>> a = isstruct(number)
>> a
a =
logical
1
8、函数struct2cell
>> struct2cell(number);
>> a = struct2cell(number);
>> a
2×1×2 cell 数组
a(:,:,1) =
{'kobe'}
{[1978]}
a(:,:,2) =
{'bryant'}
{[ 2016]}
>> a(1,1)
ans =
1×1 cell 数组
{'kobe'}
>> a(1,1,1)
ans =
1×1 cell 数组
{'kobe'}
>> a(2,1,1)
ans =
1×1 cell 数组
{[1978]}