struct

Cria um array de structs com campos nomeados.

Categoria: Language Fundamentals > Data Types

Sintaxe

s = struct

Cria um struct escalar sem campos.

s = struct(field1, value1, ...)

Cria um struct com os campos e valores dados.

s = struct(field, {})

Cria um array de structs vazio que tem o campo.

Descrição

Um struct agrupa valores relacionados sob nomes, acessados como s.nome. Os campos podem guardar valores de tipos e tamanhos diferentes. Com valores em cell array, struct expande: struct('v', {1, 2, 3}) é um array de structs 1-por-3. Todos os argumentos em célula devem ter o mesmo tamanho, e os valores que não são células são copiados para cada elemento.

Os campos também podem ser criados por atribuição, s.age = 30, e removidos com rmfield. fieldnames os lista e isfield os testa.

Argumentos de entrada

field
Nome do campo, como texto.
value
Qualquer valor. Se for um cell array, o resultado é um array de structs com um elemento por célula; coloque a célula dentro de outra, {{...}}, para guardá-la como um único valor.

Argumentos de saída

s
Struct ou array de structs.

Exemplo

Escalar, array e valor em célula

s = struct('name', 'Ana', 'age', 30)
s.age
t = struct('v', {1, 2, 3});
size(t)
c = struct('c', {{1, 2}});
class(c.c)
Saída
s = struct with fields:

    name: 'Ana'
     age: 30
ans = 30
ans = 1×2

     1     3
ans = 'cell'

Veja também

fieldnames isfield rmfield setfield cell2struct struct2cell