Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Kort Oversigt over Pointers | Arbejde med Pointere og Structs
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Beherskelse af C Structs

bookKort Oversigt over Pointers

Dereference-operatoren

En pointer er en variabel, der indeholder adressen på et andet objekt.

Dereference-operatoren "*" returnerer værdien, der er gemt på adressen.

Deklaration og initialisering af en pointer ser således ud:

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

Refereringsoperatoren &

Operatoren & returnerer adressen på et objekt:

main.c

main.c

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

En variabel af pointertypen bruges til at gemme adressen, som returneres af &-operatoren.

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

For at udpakke indholdet på den angivne adresse skal du bruge *-operatoren på en variabel af pointertypen.

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

Swipe to start coding

Du har et produkt med en bestemt pris, og du skal øge dens værdi med en given procent.
Din opgave er at implementere en funktion, der opdaterer produktets pris ved hjælp af en pointer.

Inde i updatePrice-funktionen:

  1. Brug dereference-operatoren (*) til at få adgang til den aktuelle værdi, der er gemt i hukommelsen — for eksempel refererer *price til 100.0.
  2. Beregn procentdelen af den nuværende pris*price * percentIncrease / 100.0, hvilket for 10% af 100.0 svarer til 10.0.
  3. Læg denne procentdel til den oprindelige værdi for at få den opdaterede pris*price = *price + (percentage part).
  4. Funktionen returnerer ikke noget — den ændrer værdien direkte via pointeren.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

bookKort Oversigt over Pointers

Stryg for at vise menuen

Dereference-operatoren

En pointer er en variabel, der indeholder adressen på et andet objekt.

Dereference-operatoren "*" returnerer værdien, der er gemt på adressen.

Deklaration og initialisering af en pointer ser således ud:

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

Refereringsoperatoren &

Operatoren & returnerer adressen på et objekt:

main.c

main.c

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

En variabel af pointertypen bruges til at gemme adressen, som returneres af &-operatoren.

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

For at udpakke indholdet på den angivne adresse skal du bruge *-operatoren på en variabel af pointertypen.

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

Swipe to start coding

Du har et produkt med en bestemt pris, og du skal øge dens værdi med en given procent.
Din opgave er at implementere en funktion, der opdaterer produktets pris ved hjælp af en pointer.

Inde i updatePrice-funktionen:

  1. Brug dereference-operatoren (*) til at få adgang til den aktuelle værdi, der er gemt i hukommelsen — for eksempel refererer *price til 100.0.
  2. Beregn procentdelen af den nuværende pris*price * percentIncrease / 100.0, hvilket for 10% af 100.0 svarer til 10.0.
  3. Læg denne procentdel til den oprindelige værdi for at få den opdaterede pris*price = *price + (percentage part).
  4. Funktionen returnerer ikke noget — den ændrer værdien direkte via pointeren.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
single

single

some-alt