Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Accesso ai Campi delle Struct | Introduzione alle Struct
Padronanza delle Struct in C

bookAccesso ai Campi delle Struct

Dopo aver creato una struttura per descrivere un elemento chimico, possiamo finalmente interagire con essa.

Per accedere alle informazioni contenute nella struttura, è necessario utilizzare l'operatore ..

L'operatore . consente di accedere direttamente agli elementi (campi) della struttura.

<struct>.<field>;

In questo modo si ottiene l'accesso a un membro della struttura.

Proviamo a visualizzare le informazioni relative al silicio sullo schermo:

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

I puntatori sono anche ampiamente utilizzati per accedere ai campi delle strutture, ma ne parleremo più avanti.

Se si utilizza il secondo metodo per creare una variabile struct, è necessario assegnare un valore a silicon.name utilizzando strcpy(), e poi visualizzarlo con 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

La funzione strcpy() viene utilizzata per copiare la stringa specificata (“Si”) nel campo name[3] della variabile creata.

Compito

Swipe to start coding

Si dispone di una struttura Product che memorizza le informazioni su un prodotto in un negozio: nome, prezzo e quantità. L'obiettivo è calcolare il costo totale di un prodotto moltiplicando il suo prezzo per la quantità.

La funzione productCost accetta un parametro di tipo Product.

  1. All'interno di productCost, moltiplicare il campo price per il campo quantity.
  2. In main, creare un oggetto Product con nome, prezzo e quantità.
  3. Utilizzare printf per visualizzare nome, prezzo, quantità e costo totale del prodotto (chiamando productCost).

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 5
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

Suggested prompts:

Can you show me an example of how to use the `.` operator with a struct?

How do I use `strcpy()` to assign a value to a struct field?

Can you explain how to display struct fields using `printf()`?

close

bookAccesso ai Campi delle Struct

Scorri per mostrare il menu

Dopo aver creato una struttura per descrivere un elemento chimico, possiamo finalmente interagire con essa.

Per accedere alle informazioni contenute nella struttura, è necessario utilizzare l'operatore ..

L'operatore . consente di accedere direttamente agli elementi (campi) della struttura.

<struct>.<field>;

In questo modo si ottiene l'accesso a un membro della struttura.

Proviamo a visualizzare le informazioni relative al silicio sullo schermo:

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

I puntatori sono anche ampiamente utilizzati per accedere ai campi delle strutture, ma ne parleremo più avanti.

Se si utilizza il secondo metodo per creare una variabile struct, è necessario assegnare un valore a silicon.name utilizzando strcpy(), e poi visualizzarlo con 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

La funzione strcpy() viene utilizzata per copiare la stringa specificata (“Si”) nel campo name[3] della variabile creata.

Compito

Swipe to start coding

Si dispone di una struttura Product che memorizza le informazioni su un prodotto in un negozio: nome, prezzo e quantità. L'obiettivo è calcolare il costo totale di un prodotto moltiplicando il suo prezzo per la quantità.

La funzione productCost accetta un parametro di tipo Product.

  1. All'interno di productCost, moltiplicare il campo price per il campo quantity.
  2. In main, creare un oggetto Product con nome, prezzo e quantità.
  3. Utilizzare printf per visualizzare nome, prezzo, quantità e costo totale del prodotto (chiamando productCost).

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 1. Capitolo 5
single

single

some-alt