Kort Ö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
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
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
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
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:
- Använd dereferensoperatorn (
*) för att komma åt det aktuella värdet som lagras i minnet — till exempel,*pricesyftar på100.0. - Beräkna procentandelen av det aktuella priset —
*price * percentIncrease / 100.0, vilket för 10 % av 100.0 blir10.0. - Lägg till denna procentandel till det ursprungliga värdet för att få det uppdaterade priset —
*price = *price + (percentage part). - Funktionen returnerar inget — den modifierar värdet direkt via pekaren.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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?
Fantastiskt!
Completion betyg förbättrat till 4.35
Kort Ö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
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
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
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
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:
- Använd dereferensoperatorn (
*) för att komma åt det aktuella värdet som lagras i minnet — till exempel,*pricesyftar på100.0. - Beräkna procentandelen av det aktuella priset —
*price * percentIncrease / 100.0, vilket för 10 % av 100.0 blir10.0. - Lägg till denna procentandel till det ursprungliga värdet för att få det uppdaterade priset —
*price = *price + (percentage part). - Funktionen returnerar inget — den modifierar värdet direkt via pekaren.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Lösning
Tack för dina kommentarer!
single