Acessando Campos de Struct
Após criar uma estrutura para descrever um elemento químico, é possível interagir com ela.
Para acessar as informações contidas na estrutura, deve-se utilizar o operador ..
O operador . permite acessar diretamente os elementos (campos) da estrutura.
<struct>.<field>;
Dessa forma, obtém-se acesso a um membro da estrutura.
Exemplo de exibição das informações sobre o silício na tela:
main.c
123456789101112131415161718192021#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Ponteiros também são amplamente utilizados para acessar campos de estruturas, mas abordaremos isso mais adiante.
Se você utilizar o segundo método para criar uma variável struct, será necessário atribuir um valor a silicon.name usando strcpy() e, em seguida, exibi-lo com printf().
main.c
12345678910111213141516171819202122232425#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
A função strcpy() é utilizada para copiar a string especificada (“Si”) para o campo name[3] da variável criada.
Swipe to start coding
Você possui uma estrutura Product que armazena informações sobre um produto em uma loja: seu nome, preço e quantidade. Sua tarefa é calcular o custo total de um produto multiplicando seu preço pela quantidade.
A função productCost recebe um Product como parâmetro.
- Dentro de
productCost, multiplique o campopricepelo campoquantity. - Em
main, crie um objeto Product com nome, preço e quantidade. - Use
printfpara exibir o nome, preço, quantidade e custo total do produto (chamandoproductCost).
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Incrível!
Completion taxa melhorada para 4.35
Acessando Campos de Struct
Deslize para mostrar o menu
Após criar uma estrutura para descrever um elemento químico, é possível interagir com ela.
Para acessar as informações contidas na estrutura, deve-se utilizar o operador ..
O operador . permite acessar diretamente os elementos (campos) da estrutura.
<struct>.<field>;
Dessa forma, obtém-se acesso a um membro da estrutura.
Exemplo de exibição das informações sobre o silício na tela:
main.c
123456789101112131415161718192021#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Ponteiros também são amplamente utilizados para acessar campos de estruturas, mas abordaremos isso mais adiante.
Se você utilizar o segundo método para criar uma variável struct, será necessário atribuir um valor a silicon.name usando strcpy() e, em seguida, exibi-lo com printf().
main.c
12345678910111213141516171819202122232425#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
A função strcpy() é utilizada para copiar a string especificada (“Si”) para o campo name[3] da variável criada.
Swipe to start coding
Você possui uma estrutura Product que armazena informações sobre um produto em uma loja: seu nome, preço e quantidade. Sua tarefa é calcular o custo total de um produto multiplicando seu preço pela quantidade.
A função productCost recebe um Product como parâmetro.
- Dentro de
productCost, multiplique o campopricepelo campoquantity. - Em
main, crie um objeto Product com nome, preço e quantidade. - Use
printfpara exibir o nome, preço, quantidade e custo total do produto (chamandoproductCost).
Solução
Obrigado pelo seu feedback!
single