Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Kort Översikt över Pekare | Arbeta med Pekare och Strukturer
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Behärska C-Strukturer

bookKort Översikt över Pekare

Dereferensieringsoperator

En pekare är en variabel som innehåller adressen till ett annat objekt.

Dereferensieringsoperatorn "*" returnerar värdet som är lagrat på adressen.

Deklaration och initiering av en pekare ser ut så här:

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

Referensoperator &

Operatorn & returnerar adressen till ett objekt:

main.c

main.c

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

En variabel av pekartyp används för att lagra adressen, vilken returneras av &-operatorn.

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

För att packa upp innehållet på den angivna adressen måste du använda *-operatorn på en variabel av pekartyp.

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

Swipe to start coding

Du har en produkt med ett specifikt pris, och du behöver öka dess värde med en given procent.
Din uppgift är att implementera en funktion som uppdaterar produktens pris med hjälp av en pekare.

Inuti funktionen updatePrice:

  1. Använd dereferensoperatorn (*) för att komma åt det aktuella värdet som lagras i minnet — till exempel, *price syftar på 100.0.
  2. Beräkna procentandelen av det aktuella priset*price * percentIncrease / 100.0, vilket för 10 % av 100.0 blir 10.0.
  3. Lägg till denna procentandel till det ursprungliga värdet för att få det uppdaterade priset*price = *price + (percentage part).
  4. Funktionen returnerar inget — den modifierar värdet direkt via pekaren.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 1
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookKort Översikt över Pekare

Svep för att visa menyn

Dereferensieringsoperator

En pekare är en variabel som innehåller adressen till ett annat objekt.

Dereferensieringsoperatorn "*" returnerar värdet som är lagrat på adressen.

Deklaration och initiering av en pekare ser ut så här:

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

Referensoperator &

Operatorn & returnerar adressen till ett objekt:

main.c

main.c

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

En variabel av pekartyp används för att lagra adressen, vilken returneras av &-operatorn.

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

För att packa upp innehållet på den angivna adressen måste du använda *-operatorn på en variabel av pekartyp.

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

Swipe to start coding

Du har en produkt med ett specifikt pris, och du behöver öka dess värde med en given procent.
Din uppgift är att implementera en funktion som uppdaterar produktens pris med hjälp av en pekare.

Inuti funktionen updatePrice:

  1. Använd dereferensoperatorn (*) för att komma åt det aktuella värdet som lagras i minnet — till exempel, *price syftar på 100.0.
  2. Beräkna procentandelen av det aktuella priset*price * percentIncrease / 100.0, vilket för 10 % av 100.0 blir 10.0.
  3. Lägg till denna procentandel till det ursprungliga värdet för att få det uppdaterade priset*price = *price + (percentage part).
  4. Funktionen returnerar inget — den modifierar värdet direkt via pekaren.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 1
single

single

some-alt