Osoittimien 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
123int* 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
123int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
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
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; }
*(&variable) == *pVariable
Jos yrität dereferoida null-osoitinta, kääntäjä antaa virheilmoituksen:
Main.c
1234567#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Swipe to start coding
Määritä int- ja double-osoittimien koko.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between the reference and dereference operators?
How do I declare and use a pointer in code?
What happens if I try to use a pointer that hasn't been initialized?
Mahtavaa!
Completion arvosana parantunut arvoon 2.63
Osoittimien 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
123int* 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
123int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
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
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; }
*(&variable) == *pVariable
Jos yrität dereferoida null-osoitinta, kääntäjä antaa virheilmoituksen:
Main.c
1234567#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Swipe to start coding
Määritä int- ja double-osoittimien koko.
Ratkaisu
Kiitos palautteestasi!
single