Viittaukset ja Osoitteenpurku
Osoittimet perustuvat kahteen operaattoriin:
- Osoiteoperaattori
&. - Viittausoperaattori
*.
Osoiteoperaattori
Osoiteoperaattori, jota merkitään &, mahdollistaa suoran vuorovaikutuksen tietokoneen keskusmuistin kanssa. Käyttämällä &-operaattoria saat selville objektin tarkan muistiosoitteen.
Main.c
123456789101112#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable into RAM: %p\n", &x); // using reference operator `&` for getting address return 0; }
Muotoilumääre, jota käytetään osoitteiden (pointtereiden) tulostamiseen, on %p.
Osoitteet esitetään tyypillisesti heksadesimaalimuodossa.
Dereferenssioperaattori
Vastaavasti *-operaattori antaa sinulle asukkaan nimen, kun tiedät heidän osoitteensa. Kuinka voimme käyttää tätä operaattoria, jos emme käsittele osoitteita suoraan? Jos sinulla on lauseke kuten &x, joka palauttaa muuttujan x osoitteen, *-operaattorin käyttäminen siihen (*&x) antaa kyseisessä osoitteessa olevan muuttujan arvon.
Periaatteessa *&x on sama kuin x.
Main.c
1234567891011121314#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable in RAM: %p\n", &x); // using reference operator `&` printf("Dereferencing address of variable: %d", *(&x)); // using dereference operator `*` return 0; }
Älä sekoita osoitteen purku -operaattoria (*x) kertolaskuoperaattoriin (x*y).
Swipe to start coding
- Luo viiden alkion kokonaislukutaulukko ja täytä se.
- Hae kolmannen alkion osoite.
- Inkrementoi kolmannen alkion osoitetta ja dereferoi inkrementoitua osoitetta tulostaaksesi arvon, johon se viittaa.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 2.63
Viittaukset ja Osoitteenpurku
Pyyhkäise näyttääksesi valikon
Osoittimet perustuvat kahteen operaattoriin:
- Osoiteoperaattori
&. - Viittausoperaattori
*.
Osoiteoperaattori
Osoiteoperaattori, jota merkitään &, mahdollistaa suoran vuorovaikutuksen tietokoneen keskusmuistin kanssa. Käyttämällä &-operaattoria saat selville objektin tarkan muistiosoitteen.
Main.c
123456789101112#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable into RAM: %p\n", &x); // using reference operator `&` for getting address return 0; }
Muotoilumääre, jota käytetään osoitteiden (pointtereiden) tulostamiseen, on %p.
Osoitteet esitetään tyypillisesti heksadesimaalimuodossa.
Dereferenssioperaattori
Vastaavasti *-operaattori antaa sinulle asukkaan nimen, kun tiedät heidän osoitteensa. Kuinka voimme käyttää tätä operaattoria, jos emme käsittele osoitteita suoraan? Jos sinulla on lauseke kuten &x, joka palauttaa muuttujan x osoitteen, *-operaattorin käyttäminen siihen (*&x) antaa kyseisessä osoitteessa olevan muuttujan arvon.
Periaatteessa *&x on sama kuin x.
Main.c
1234567891011121314#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable in RAM: %p\n", &x); // using reference operator `&` printf("Dereferencing address of variable: %d", *(&x)); // using dereference operator `*` return 0; }
Älä sekoita osoitteen purku -operaattoria (*x) kertolaskuoperaattoriin (x*y).
Swipe to start coding
- Luo viiden alkion kokonaislukutaulukko ja täytä se.
- Hae kolmannen alkion osoite.
- Inkrementoi kolmannen alkion osoitetta ja dereferoi inkrementoitua osoitetta tulostaaksesi arvon, johon se viittaa.
Ratkaisu
Kiitos palautteestasi!
single