Breve 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
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
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
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; }
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:
- Usa l'operatore di dereferenziazione (
*) per accedere al valore attualmente memorizzato in memoria — ad esempio,*pricesi riferisce a100.0. - Calcola la percentuale del prezzo attuale —
*price * percentIncrease / 100.0, che per il 10% di 100.0 equivale a10.0. - Aggiungi questa percentuale al valore originale per ottenere il prezzo aggiornato —
*price = *price + (percentage part). - La funzione non restituisce nulla — modifica direttamente il valore tramite il puntatore.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
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
Fantastico!
Completion tasso migliorato a 4.35
Breve 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
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
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
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; }
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:
- Usa l'operatore di dereferenziazione (
*) per accedere al valore attualmente memorizzato in memoria — ad esempio,*pricesi riferisce a100.0. - Calcola la percentuale del prezzo attuale —
*price * percentIncrease / 100.0, che per il 10% di 100.0 equivale a10.0. - Aggiungi questa percentuale al valore originale per ottenere il prezzo aggiornato —
*price = *price + (percentage part). - La funzione non restituisce nulla — modifica direttamente il valore tramite il puntatore.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Soluzione
Grazie per i tuoi commenti!
single