【MATLAB】:结构体struct

结构体的使用有两种:

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]}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/heimu24/article/details/81142420