Arrays com Structs
Criar um array de estruturas é igual a criar um array com outros tipos de dados.
O acesso aos elementos desse array é semelhante ao de arrays comuns, por índices.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Como exemplo, considere a criação de um array de estruturas para armazenar informações sobre uma pessoa.
main.c
12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h> #include <string.h> // structure definition struct Person { char name[50]; int age; double height; }; int main() { // declaring an array of structures struct Person people[3]; strcpy(people[0].name, "Alice"); people[0].age = 25; people[0].height = 1.75; strcpy(people[1].name, "Bob"); people[1].age = 30; people[1].height = 1.80; strcpy(people[2].name, "Charlie"); people[2].age = 35; people[2].height = 1.70; // output information about people from the array for (int i = 0; i < 3; ++i) { printf("Person %d:\n", i + 1); printf("Name: %s\n", people[i].name); printf("Age: %d\n", people[i].age); printf("Height: %.2f\n", people[i].height); printf("\n"); } return 0; }
Cada elemento do array people representa uma estrutura Person separada. É possível acessar os campos de uma pessoa específica utilizando o índice do array, por exemplo: people[0].name ou people[1].age.
Em seguida, percorre-se todo o array utilizando um laço for e exibe-se as informações de cada pessoa na tela.
O uso de arrays de estruturas permite armazenar múltiplos objetos do mesmo tipo em um único local e acessá-los facilmente pelo índice, o que é especialmente útil ao trabalhar com grandes conjuntos de dados.
Swipe to start coding
Implemente uma função calculateWarehouseTotal que calcula o valor total de todos os produtos armazenados em um depósito. Cada produto possui um nome, quantidade e preço. A função deve percorrer o array de produtos e calcular a soma de quantity * price para todos os itens.
- Dentro da função
calculateWarehouseTotal, crie uma variáveltotalinicializada com0.0f. - Utilize um laço
forpara iterar do índice0atén. - Para cada produto, multiplique
quantityporpricee adicione o resultado atotal. - Retorne o valor final de
totalcomo o custo total do depósito.
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
Arrays com Structs
Deslize para mostrar o menu
Criar um array de estruturas é igual a criar um array com outros tipos de dados.
O acesso aos elementos desse array é semelhante ao de arrays comuns, por índices.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Como exemplo, considere a criação de um array de estruturas para armazenar informações sobre uma pessoa.
main.c
12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h> #include <string.h> // structure definition struct Person { char name[50]; int age; double height; }; int main() { // declaring an array of structures struct Person people[3]; strcpy(people[0].name, "Alice"); people[0].age = 25; people[0].height = 1.75; strcpy(people[1].name, "Bob"); people[1].age = 30; people[1].height = 1.80; strcpy(people[2].name, "Charlie"); people[2].age = 35; people[2].height = 1.70; // output information about people from the array for (int i = 0; i < 3; ++i) { printf("Person %d:\n", i + 1); printf("Name: %s\n", people[i].name); printf("Age: %d\n", people[i].age); printf("Height: %.2f\n", people[i].height); printf("\n"); } return 0; }
Cada elemento do array people representa uma estrutura Person separada. É possível acessar os campos de uma pessoa específica utilizando o índice do array, por exemplo: people[0].name ou people[1].age.
Em seguida, percorre-se todo o array utilizando um laço for e exibe-se as informações de cada pessoa na tela.
O uso de arrays de estruturas permite armazenar múltiplos objetos do mesmo tipo em um único local e acessá-los facilmente pelo índice, o que é especialmente útil ao trabalhar com grandes conjuntos de dados.
Swipe to start coding
Implemente uma função calculateWarehouseTotal que calcula o valor total de todos os produtos armazenados em um depósito. Cada produto possui um nome, quantidade e preço. A função deve percorrer o array de produtos e calcular a soma de quantity * price para todos os itens.
- Dentro da função
calculateWarehouseTotal, crie uma variáveltotalinicializada com0.0f. - Utilize um laço
forpara iterar do índice0atén. - Para cada produto, multiplique
quantityporpricee adicione o resultado atotal. - Retorne o valor final de
totalcomo o custo total do depósito.
Solução
Obrigado pelo seu feedback!
single