Kun opit C: tä, olet saattanut törmätä termiin ”osoittimet” ja usein kuullut, että sitä on vaikea ymmärtää. Osoittimet ovat hyödyllisiä erilaisissa ohjelmointitehtävissä, ja sitä ei ole niin vaikea ymmärtää. Tämä artikkeli esittelee sinut C-osoittimiin ja kertoo, miksi niitä ei ole niin vaikea oppia kuin miltä ne näyttävät.
Seuraavassa on tämän artikkelin aiheet,
Aloitetaan tämän osoittimen ensimmäisellä bitillä C-artikkelissa,
apache kipinä verrattuna hadoop mapreduce
Osoittimet C.
Mikä on osoitin?
Osoitin on muuttuja, joka pystyy tallentamaan muuttujan osoitteen. Nyt saatat kysyä, mitä hyötyä siitä on? Pohjimmiltaan osoitin osoittaa sen muuttujan muistipaikkaan, jonka osoite annetaan. Tämä ominaisuus auttaa dynaamisessa muistin allokoinnissa, mikä on tärkeä osa ohjelmointia.
Ymmärretään sen syntaksia ja katsotaanpa esimerkkiä
Data_Type * osoittimen_nimi
Esimerkki: int * ptr
Seuraava on tämän bitin C-artikkelin seuraava bitti
Viite- ja viittausoperaattorit
Ennen kuin sukelat syvemmälle osoittimen käsitteeseen, ymmärretään joitain perusteita, jotka auttavat meitä myöhemmin. Kun käytät osoittimia, sinun tulee ehdottomasti käyttää & & ja * * -operaattoreita. Nyt on aika ymmärtää niiden merkitys ja käyttö.
Ensinnäkin ymmärretään viiteoperaattoria, jota usein kutsutaan operaattorin osoitteeksi. (Ampersand) -operaattorin käyttäminen muuttujan kanssa palauttaa muistipaikan, joka tunnetaan myös tietyn muuttujan osoitteena.
Esimerkki
int * ptr int a ptr = & a
Muuttujan ”a” osoite tallennetaan muuttujaan ptr.
Nyt ymmärretään De-Referencing- tai Value at -operaattori, jota merkitään tähdellä (*). Se auttaa noutamaan arvon muistimoduulista, joka on tallennettu osoittimen muuttujaan
Esimerkki
int * ptr int a * ptr = & a printf ('a =% dn: n arvo, * ptr)
Osoittimen tyypit Osoittimen ilmoittaessa käytetty * ei ole tarkoitettu viittausten poistamiseen, mutta kertoo kääntäjälle, että annettu muuttuja on osoitin.Yllä oleva tulostuslauseke tulostaa muistipaikassa olevan arvon, ja osoitin osoittaa tämän muistipaikan. eli muuttujan ”a” arvo.
On olemassa monenlaisia osoittimia, jotka eroavat sen mukaan, miten niitä käytetään ohjelmassa.Tarkastelemme joitain yleisimmin käytettyjä tyyppejä.
Tyhjä osoitin
Osoittimelle annetaan nolla-arvo, kun et ole varma, mikä osoite osoitetaan. Se voidaan tehdä osoittamalla NULL-arvo osoittimelle ilmoituksen tekohetkellä. Tämän osoittimen arvo on 0.
fibonacci-sekvenssi c ++: ssa
int * ptr = NULL
Villi osoitin
datanotto abstraktina muodossa c ++
Villi osoitin luodaan, kun osoitinmuuttujalle ei anneta mitään arvoa. Sitä tulisi käyttää varovasti, koska se voi johtaa odottamattomiin tuloksiin.
Riippuva osoitin
Kun osoitin osoittaa poistettuun muuttujaan tai vapautettuun muistiin, osoitinta kutsutaan roikkuvaksi osoittimeksi.Tämä osoitin osoittaa olemattomaan muistipaikkaan. Katsotaanpa tämän osoitteen seuraava bitti C-artikkelissa
Osoittimen käyttö
Nyt meillä on lyhyt käsitys viite- ja poikkeavuusoperaattoreista. Tässä osassa ymmärretään, kuinka osoittimia käytetään. Tähän asti olemme oppineet osoittamaan osoittimen ja käyttämään sitä joissakin perustoiminnoissa. Tässä vaiheessa meillä on tarpeeksi tietoa voidaksemme käyttää osoittimia todella hämmästyttäviin ohjelmointitehtäviin tekemällä niihin aritmeettisia operaatioita.
Normaalisti nämä toiminnot suoritetaan matriiseilla. Vähentäminen kahteen osoitteeseen voi antaa meille etäisyyden kahden muistipaikan välillä.
int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Matriisimme, jolla suoritamme operaatioita * / int * ptr / * Osoitin * / ptr = First_array / * Määritä taulukon osoite osoitemuuttujaan * / for (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } }
Tuotos
Yritä toteuttaa koodi itse ja suorita erilaisia laskutoimituksia.Käytetään osoittimia merkkijonoilla.
#include #include int main () {char str [] = 'Hei maailma' / * Taulukon luominen * / char * p / * Osoitin * / p = str printf ('Kaikkien merkkijonomme merkkien tulostaminen') p = str varten (int i = 0i
Tämän myötä olemme päässeet tämän Pointers In C -blogin loppuun. Toivon, että löysit tämän informatiivisen ja hyödyllisen, pysy kuulolla lisää samankaltaisia aiheita käsitteleviä oppaita. Voit myös tarkistaa koulutusohjelmamme to saada perusteellista tietoa jQuerystä ja sen eri sovelluksista, voit live-verkkokoulutukseen 24/7 tuella ja käyttöikä.Toteuta yllä oleva koodi erilaisilla merkkijonoilla ja muunnelmilla. Nyt meillä on hyvä käsitys kaikista osoittimeen liittyvistä keskeisistä käsitteistä.Onko sinulla kysymys meille? Mainitse ne tämän blogin kommenttiosassa ja palaamme sinuun.