Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Osoittimien Käsittely | Osoittimet
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C:n Perusteet

bookOsoittimien Käsittely

Käyttämällä viiteoperaattoria & ja osoitteenpurkuoperaattoria *, voidaan luoda ja käsitellä osoittimia.

Osoitin on tietotyyppi, kuten int, char tai double. Osoitin on tarkoitettu tallentamaan osoitteen, jonka voi saada käyttämällä &-operaattoria. Osoitin määritellään lisäämällä muuttujan eteen *-merkki.

main.c

main.c

copy
123
int* intPointer; // Pointer to an `int` variable double* doublePointer; // Pointer to a `double` variable char* charPointer; // Pointer to a `char` variable

Ytimeltään osoitin on muuttuja, joka sisältää toisen olion osoitteen.

main.c

main.c

copy
123
int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
Note
Huomio

Tyypillisesti osoittimet nimetään lisäämällä etuliitteeksi kirjain p sen objektin nimen eteen, johon ne osoittavat.

Kun dereferoit osoittimen, pääset käsiksi muuttujan arvoon, johon osoitin viittaa.

Main.c

Main.c

copy
12345678910111213
#include <stdio.h> int main() { int x = 22543; // Variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // Value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // Pointer dereference return 0; }
Note
Huomio

*(&variable) == *pVariable

Jos yrität dereferoida null-osoitinta, kääntäjä antaa virheilmoituksen:

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Tehtävä

Swipe to start coding

Määritä int- ja double-osoittimien koko.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 6. Luku 3
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

What is the difference between referencing and dereferencing a pointer?

Can you give an example of how to declare and use a pointer?

Why is dereferencing a null pointer an error?

close

bookOsoittimien Käsittely

Pyyhkäise näyttääksesi valikon

Käyttämällä viiteoperaattoria & ja osoitteenpurkuoperaattoria *, voidaan luoda ja käsitellä osoittimia.

Osoitin on tietotyyppi, kuten int, char tai double. Osoitin on tarkoitettu tallentamaan osoitteen, jonka voi saada käyttämällä &-operaattoria. Osoitin määritellään lisäämällä muuttujan eteen *-merkki.

main.c

main.c

copy
123
int* intPointer; // Pointer to an `int` variable double* doublePointer; // Pointer to a `double` variable char* charPointer; // Pointer to a `char` variable

Ytimeltään osoitin on muuttuja, joka sisältää toisen olion osoitteen.

main.c

main.c

copy
123
int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
Note
Huomio

Tyypillisesti osoittimet nimetään lisäämällä etuliitteeksi kirjain p sen objektin nimen eteen, johon ne osoittavat.

Kun dereferoit osoittimen, pääset käsiksi muuttujan arvoon, johon osoitin viittaa.

Main.c

Main.c

copy
12345678910111213
#include <stdio.h> int main() { int x = 22543; // Variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // Value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // Pointer dereference return 0; }
Note
Huomio

*(&variable) == *pVariable

Jos yrität dereferoida null-osoitinta, kääntäjä antaa virheilmoituksen:

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Tehtävä

Swipe to start coding

Määritä int- ja double-osoittimien koko.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 6. Luku 3
single

single

some-alt