Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Osoittimien Käsittely | Osoittimet
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

close

Awesome!

Completion rate improved to 2.63

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