Informática, perguntado por marcosvppjuniooz80h5, 4 meses atrás

Em parte de um código em C para cadastro de mercadorias de um supermercado, foi criada um struct para armazenar os campos "código" e "preço" dos produtos, definida conforme abaixo:

struct Produto {

int codigo;

float preco;

};

Um ponteiro para uma struct deste tipo foi criado com a instrução abaixo:

struct Produto *b;

Qual das alternativas acessa corretamente o campo preco?


A/ b> preco;


B/ b->preco;


C/ (*b)->preco;


D/ *b->preco;


E/ b.preco;

Soluções para a tarefa

Respondido por steniohmsilva
0

A alternativa que acessa corretamente o campo preco é a letra B: b->preco.

Ponteiro em Struct

Uma struct é um tipo de dado conhecido como registro que agrupa variáveis de diferentes tipos sob um mesmo tipo de dado, criando um novo tipo.

Dessa forma, também é possível criar ponteiros do tipo de uma struct para criar esses ponteiros basta declarar o tipo da struct com um asterisco à frente do nome:

  • struct Produto *b;

Para acessar o dado de uma variável do tipo do registro comum basta colocar o nome da variável, o ponto (.) e o nome do elemento que deseja acessar da maneira: b.preco. Contudo, quando estamos falando de um ponteiro de struct devemos usar o -> no lugar do ponto. Dessa forma, o operador -> irá deferenciar o ponteiro e o elemento que deseja ser acessado.

  • b->preco

A forma (*b).preco é equivalente a b->preco

Mais exercícios sobre struct em:

https://brainly.com.br/tarefa/49576849

Mais exercício sobre ponteiro em:

https://brainly.com.br/tarefa/19729846

#SPJ1

Anexos:
Perguntas interessantes