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
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?
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