Korte Inleiding tot Pointers
Dereferentie-operator
Een pointer is een variabele die het adres van een ander object bevat.
De dereferentie-operator "*" geeft de waarde terug die op het adres is opgeslagen.
Declareren en initialiseren van een pointer ziet er als volgt uit:
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; }
Referentie-operator &
De &-operator geeft het adres van een object terug:
main.c
12345678#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }
Een variabele van het pointertype wordt gebruikt om het adres op te slaan dat wordt teruggegeven door de &-operator.
int variable;
int* pVariable;
pVariable = &variable;
Om de inhoud op het opgegeven adres te ontpakken, moet de *-operator worden gebruikt op een variabele van het pointertype.
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
Je hebt een product met een specifieke prijs, en je moet de waarde verhogen met een bepaald percentage.
Je taak is om een functie te implementeren die de prijs van het product bijwerkt met behulp van een pointer.
Binnen de updatePrice functie:
- Gebruik de dereference-operator (
*) om de huidige waarde in het geheugen te benaderen — bijvoorbeeld,*priceverwijst naar100.0. - Bereken het percentage van de huidige prijs —
*price * percentIncrease / 100.0, wat voor 10% van 100.0 gelijk is aan10.0. - Tel dit percentage op bij de oorspronkelijke waarde om de bijgewerkte prijs te krijgen —
*price = *price + (percentage part). - De functie retourneert niets — de waarde wordt direct aangepast via de pointer.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain the difference between the * and & operators in more detail?
Can you give an example of how to use pointers in a function?
What are some common mistakes when working with pointers?
Geweldig!
Completion tarief verbeterd naar 4.35
Korte Inleiding tot Pointers
Veeg om het menu te tonen
Dereferentie-operator
Een pointer is een variabele die het adres van een ander object bevat.
De dereferentie-operator "*" geeft de waarde terug die op het adres is opgeslagen.
Declareren en initialiseren van een pointer ziet er als volgt uit:
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; }
Referentie-operator &
De &-operator geeft het adres van een object terug:
main.c
12345678#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }
Een variabele van het pointertype wordt gebruikt om het adres op te slaan dat wordt teruggegeven door de &-operator.
int variable;
int* pVariable;
pVariable = &variable;
Om de inhoud op het opgegeven adres te ontpakken, moet de *-operator worden gebruikt op een variabele van het pointertype.
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
Je hebt een product met een specifieke prijs, en je moet de waarde verhogen met een bepaald percentage.
Je taak is om een functie te implementeren die de prijs van het product bijwerkt met behulp van een pointer.
Binnen de updatePrice functie:
- Gebruik de dereference-operator (
*) om de huidige waarde in het geheugen te benaderen — bijvoorbeeld,*priceverwijst naar100.0. - Bereken het percentage van de huidige prijs —
*price * percentIncrease / 100.0, wat voor 10% van 100.0 gelijk is aan10.0. - Tel dit percentage op bij de oorspronkelijke waarde om de bijgewerkte prijs te krijgen —
*price = *price + (percentage part). - De functie retourneert niets — de waarde wordt direct aangepast via de pointer.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Oplossing
Bedankt voor je feedback!
single