Accesso 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
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; }
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
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; }
La funzione strcpy() viene utilizzata per copiare la stringa specificata (“Si”) nel campo name[3] della variabile creata.
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.
- All'interno di
productCost, moltiplicare il campopriceper il campoquantity. - In
main, creare un oggetto Product con nome, prezzo e quantità. - Utilizzare
printfper visualizzare nome, prezzo, quantità e costo totale del prodotto (chiamandoproductCost).
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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()`?
Fantastico!
Completion tasso migliorato a 4.35
Accesso 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
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; }
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
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; }
La funzione strcpy() viene utilizzata per copiare la stringa specificata (“Si”) nel campo name[3] della variabile creata.
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.
- All'interno di
productCost, moltiplicare il campopriceper il campoquantity. - In
main, creare un oggetto Product con nome, prezzo e quantità. - Utilizzare
printfper visualizzare nome, prezzo, quantità e costo totale del prodotto (chiamandoproductCost).
Soluzione
Grazie per i tuoi commenti!
single