Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Acessando Campos de Struct | Introdução a Structs
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Dominando Structs em C

bookAcessando 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

main.c

copy
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; }
Note
Nota

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

main.c

copy
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; }
Note
Nota

A função strcpy() é utilizada para copiar a string especificada (“Si”) para o campo name[3] da variável criada.

Tarefa

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.

  1. Dentro de productCost, multiplique o campo price pelo campo quantity.
  2. Em main, crie um objeto Product com nome, preço e quantidade.
  3. Use printf para exibir o nome, preço, quantidade e custo total do produto (chamando productCost).

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 5
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

bookAcessando 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

main.c

copy
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; }
Note
Nota

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

main.c

copy
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; }
Note
Nota

A função strcpy() é utilizada para copiar a string especificada (“Si”) para o campo name[3] da variável criada.

Tarefa

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.

  1. Dentro de productCost, multiplique o campo price pelo campo quantity.
  2. Em main, crie um objeto Product com nome, preço e quantidade.
  3. Use printf para exibir o nome, preço, quantidade e custo total do produto (chamando productCost).

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 5
single

single

some-alt