Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Breve Panoramica sui Puntatori | Lavorare con Puntatori e Struct
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Padronanza delle Struct in C

bookBreve Panoramica sui Puntatori

Operatore di Dereferenziazione

Un puntatore è una variabile che contiene l'indirizzo di un altro oggetto.

L'operatore di dereferenziazione "*" restituisce il valore memorizzato all'indirizzo.

La dichiarazione e l'inizializzazione di un puntatore sono le seguenti:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

Operatore di Referenziazione &

L'operatore & restituisce l'indirizzo di un oggetto:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Una variabile di tipo puntatore viene utilizzata per memorizzare l'indirizzo, che viene restituito dall'operatore &.

int variable;
int* pVariable;
pVariable = &variable;

Per estrarre il contenuto all'indirizzo specificato, è necessario utilizzare l'operatore * su una variabile di tipo puntatore.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Compito

Swipe to start coding

Hai un prodotto con un prezzo specifico e devi aumentare il suo valore di una certa percentuale.
Il tuo compito è implementare una funzione che aggiorni il prezzo del prodotto utilizzando un puntatore.

All'interno della funzione updatePrice:

  1. Usa l'operatore di dereferenziazione (*) per accedere al valore attualmente memorizzato in memoria — ad esempio, *price si riferisce a 100.0.
  2. Calcola la percentuale del prezzo attuale*price * percentIncrease / 100.0, che per il 10% di 100.0 equivale a 10.0.
  3. Aggiungi questa percentuale al valore originale per ottenere il prezzo aggiornato*price = *price + (percentage part).
  4. La funzione non restituisce nulla — modifica direttamente il valore tramite il puntatore.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

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

bookBreve Panoramica sui Puntatori

Scorri per mostrare il menu

Operatore di Dereferenziazione

Un puntatore è una variabile che contiene l'indirizzo di un altro oggetto.

L'operatore di dereferenziazione "*" restituisce il valore memorizzato all'indirizzo.

La dichiarazione e l'inizializzazione di un puntatore sono le seguenti:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

Operatore di Referenziazione &

L'operatore & restituisce l'indirizzo di un oggetto:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Una variabile di tipo puntatore viene utilizzata per memorizzare l'indirizzo, che viene restituito dall'operatore &.

int variable;
int* pVariable;
pVariable = &variable;

Per estrarre il contenuto all'indirizzo specificato, è necessario utilizzare l'operatore * su una variabile di tipo puntatore.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Compito

Swipe to start coding

Hai un prodotto con un prezzo specifico e devi aumentare il suo valore di una certa percentuale.
Il tuo compito è implementare una funzione che aggiorni il prezzo del prodotto utilizzando un puntatore.

All'interno della funzione updatePrice:

  1. Usa l'operatore di dereferenziazione (*) per accedere al valore attualmente memorizzato in memoria — ad esempio, *price si riferisce a 100.0.
  2. Calcola la percentuale del prezzo attuale*price * percentIncrease / 100.0, che per il 10% di 100.0 equivale a 10.0.
  3. Aggiungi questa percentuale al valore originale per ottenere il prezzo aggiornato*price = *price + (percentage part).
  4. La funzione non restituisce nulla — modifica direttamente il valore tramite il puntatore.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

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 1
single

single

some-alt