Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Kort Oversikt Over Pekere | Arbeide med Pekere og Strukturer
Mestre C-strukturer

bookKort Oversikt Over Pekere

Dereferanseoperator

En peker er en variabel som inneholder adressen til et annet objekt.

Dereferanseoperatoren "*" returnerer verdien som er lagret på adressen.

Deklarasjon og initialisering av en peker ser slik ut:

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

Referanseoperator &

Operatoren & returnerer adressen til et objekt:

main.c

main.c

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

En variabel av pekertype brukes til å lagre adressen som returneres av &-operatoren.

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

For å hente ut innholdet på den angitte adressen, må du bruke *-operatoren på en variabel av pekertype.

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

Swipe to start coding

Du har et produkt med en spesifikk pris, og du må øke verdien med en gitt prosent.
Din oppgave er å implementere en funksjon som oppdaterer produktets pris ved hjelp av en peker.

Inne i updatePrice-funksjonen:

  1. Bruk dereferanseoperatoren (*) for å få tilgang til den nåværende verdien som er lagret i minnet — for eksempel refererer *price til 100.0.
  2. Beregn prosentandelen av nåværende pris*price * percentIncrease / 100.0, som for 10 % av 100.0 tilsvarer 10.0.
  3. Legg denne prosentandelen til den opprinnelige verdien for å få oppdatert pris*price = *price + (percentage part).
  4. Funksjonen returnerer ingenting — den endrer verdien direkte via pekeren.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

bookKort Oversikt Over Pekere

Sveip for å vise menyen

Dereferanseoperator

En peker er en variabel som inneholder adressen til et annet objekt.

Dereferanseoperatoren "*" returnerer verdien som er lagret på adressen.

Deklarasjon og initialisering av en peker ser slik ut:

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

Referanseoperator &

Operatoren & returnerer adressen til et objekt:

main.c

main.c

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

En variabel av pekertype brukes til å lagre adressen som returneres av &-operatoren.

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

For å hente ut innholdet på den angitte adressen, må du bruke *-operatoren på en variabel av pekertype.

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

Swipe to start coding

Du har et produkt med en spesifikk pris, og du må øke verdien med en gitt prosent.
Din oppgave er å implementere en funksjon som oppdaterer produktets pris ved hjelp av en peker.

Inne i updatePrice-funksjonen:

  1. Bruk dereferanseoperatoren (*) for å få tilgang til den nåværende verdien som er lagret i minnet — for eksempel refererer *price til 100.0.
  2. Beregn prosentandelen av nåværende pris*price * percentIncrease / 100.0, som for 10 % av 100.0 tilsvarer 10.0.
  3. Legg denne prosentandelen til den opprinnelige verdien for å få oppdatert pris*price = *price + (percentage part).
  4. Funksjonen returnerer ingenting — den endrer verdien direkte via pekeren.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 1
single

single

some-alt