Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Array con Struct | Comprendere Struct e Memoria
Padronanza delle Struct in C

bookArray con Struct

Creare un array di strutture non differisce dalla creazione di un array con altri tipi di dati.

L'accesso agli elementi di un array di questo tipo è simile a quello degli array ordinari tramite indici.

struct Person {
    char name[50];
    int age;
    double height;
};

struct Person people[2];

Ad esempio, si può creare un array di strutture che memorizza informazioni su una persona.

main.c

main.c

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

Ogni elemento dell'array people rappresenta una struttura Person separata. È possibile accedere ai campi di una persona specifica utilizzando l'indice dell'array, ad esempio: people[0].name oppure people[1].age.

Successivamente, si scorre l'intero array utilizzando un ciclo for e si stampa a schermo le informazioni di ciascuna persona.

L'utilizzo di array di strutture consente di memorizzare più oggetti dello stesso tipo in un unico luogo e di accedervi facilmente tramite indice, caratteristica particolarmente utile quando si lavora con grandi insiemi di dati.

Compito

Swipe to start coding

Implementare una funzione calculateWarehouseTotal che calcoli il valore totale di tutti i prodotti immagazzinati in un magazzino. Ogni prodotto possiede un nome, una quantità e un prezzo. La funzione deve iterare sull'array dei prodotti e calcolare la somma di quantity * price per tutti gli articoli.

  1. All'interno della funzione calculateWarehouseTotal, creare una variabile total inizializzata a 0.0f.
  2. Utilizzare un ciclo for per iterare dall'indice 0 a n.
  3. Per ciascun prodotto, moltiplicare quantity per price e aggiungere il risultato a total.
  4. Restituire il valore finale di total come costo totale del magazzino.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

bookArray con Struct

Scorri per mostrare il menu

Creare un array di strutture non differisce dalla creazione di un array con altri tipi di dati.

L'accesso agli elementi di un array di questo tipo è simile a quello degli array ordinari tramite indici.

struct Person {
    char name[50];
    int age;
    double height;
};

struct Person people[2];

Ad esempio, si può creare un array di strutture che memorizza informazioni su una persona.

main.c

main.c

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

Ogni elemento dell'array people rappresenta una struttura Person separata. È possibile accedere ai campi di una persona specifica utilizzando l'indice dell'array, ad esempio: people[0].name oppure people[1].age.

Successivamente, si scorre l'intero array utilizzando un ciclo for e si stampa a schermo le informazioni di ciascuna persona.

L'utilizzo di array di strutture consente di memorizzare più oggetti dello stesso tipo in un unico luogo e di accedervi facilmente tramite indice, caratteristica particolarmente utile quando si lavora con grandi insiemi di dati.

Compito

Swipe to start coding

Implementare una funzione calculateWarehouseTotal che calcoli il valore totale di tutti i prodotti immagazzinati in un magazzino. Ogni prodotto possiede un nome, una quantità e un prezzo. La funzione deve iterare sull'array dei prodotti e calcolare la somma di quantity * price per tutti gli articoli.

  1. All'interno della funzione calculateWarehouseTotal, creare una variabile total inizializzata a 0.0f.
  2. Utilizzare un ciclo for per iterare dall'indice 0 a n.
  3. Per ciascun prodotto, moltiplicare quantity per price e aggiungere il risultato a total.
  4. Restituire il valore finale di total come costo totale del magazzino.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
single

single

some-alt