Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Korte Inleiding tot Pointers | Werken met Pointers en Structs
C-Structs Beheersen

bookKorte 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

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; }

Referentie-operator &

De &-operator geeft het adres van een object terug:

main.c

main.c

copy
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

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; }
Taak

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:

  1. Gebruik de dereference-operator (*) om de huidige waarde in het geheugen te benaderen — bijvoorbeeld, *price verwijst naar 100.0.
  2. Bereken het percentage van de huidige prijs*price * percentIncrease / 100.0, wat voor 10% van 100.0 gelijk is aan 10.0.
  3. Tel dit percentage op bij de oorspronkelijke waarde om de bijgewerkte prijs te krijgen — *price = *price + (percentage part).
  4. De functie retourneert niets — de waarde wordt direct aangepast via de pointer.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 1
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

bookKorte 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

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; }

Referentie-operator &

De &-operator geeft het adres van een object terug:

main.c

main.c

copy
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

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; }
Taak

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:

  1. Gebruik de dereference-operator (*) om de huidige waarde in het geheugen te benaderen — bijvoorbeeld, *price verwijst naar 100.0.
  2. Bereken het percentage van de huidige prijs*price * percentIncrease / 100.0, wat voor 10% van 100.0 gelijk is aan 10.0.
  3. Tel dit percentage op bij de oorspronkelijke waarde om de bijgewerkte prijs te krijgen — *price = *price + (percentage part).
  4. De functie retourneert niets — de waarde wordt direct aangepast via de pointer.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 1
single

single

some-alt