Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Puntatori a struct | Lavorare con Puntatori e Struct
Struct in C
Sezione 2. Capitolo 2
single

single

Puntatori a struct

Scorri per mostrare il menu

Il linguaggio di programmazione C consente di creare puntatori non solo ai tipi di dati standard ma anche alle strutture (poiché una struttura è un tipo di dato personalizzato).

La dichiarazione e l'inizializzazione di un puntatore avvengono in questo modo:

struct <name_of_struct>
{
    <field_of_struct>;
};

struct <name_of_struct>* <name_of_pointer>;

Se <name_of_pointer> è un puntatore a una struttura,
allora *(<name_of_pointer>) rappresenta la struttura stessa.

Per accedere ai campi di una struttura tramite un puntatore, è necessario utilizzare l'operatore ->.

Note
Nota

-> è un analogo dell'operatore di accesso ai campi della struttura .

main.c

main.c

12345678910111213141516171819202122
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }

Questo programma mostra come lavorare con una struttura Point che memorizza due coordinate, x e y. Nella funzione main, viene creata una variabile p1 a cui vengono assegnati i valori delle coordinate, quindi viene inizializzato un puntatore a questa struttura. Utilizzando l'operatore ->, il programma accede ai campi della struttura tramite il puntatore e stampa le coordinate del punto sullo schermo.

Compito

Scorri per iniziare a programmare

Hai uno studente con voti in 3 materie: Math, Physics e Programming.
Il tuo compito è calcolare la media dei voti dello studente e determinare se ha superato il corso.

All'interno della funzione calculateAverageAndCheck:

  1. Accedi al voto di ciascuna materia utilizzando il puntatore.
  2. Somma tutti e tre i voti per trovare il punteggio totale.
  3. Dividi il totale per 3.0 per calcolare la media dei voti.
  4. Confronta il risultato con la soglia di superamento di 60.
  5. Se la media è maggiore o uguale a 60, restituisci true (lo studente ha superato).
  6. Altrimenti, restituisci false (lo studente non ha superato).

Example

MathPhysicsProgrammingAverageResult
85.055.060.066.67✅ Passed
50.040.045.045.00❌ Failed
60.060.060.060.00✅ Passed

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 2. Capitolo 2
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

some-alt