Quando nós instanciamos uma struct no nosso código o programa cria os campos associados lado-a-lado na memória.
Nós instanciamos uma estrutura especificando todos os valores dos campos dentro de
StructName { ... }
.
Os campos são acessados usando o operador de ponto .
.
Detalhes da memória do nosso exemplo:
String::from
cria uma struct String
que é colocada lado-a-lado com os campos de SeaCreature na pilha. Uma String representa um texto que pode ser alterado e faz assim:Criando memória no heap para o texto onde ele pode ser modificado.
Armazenando uma referência a esse local de memória no heap e armazenando-o no struct String
(mais a respeito em lições futuras).