Johdanto C: n osoittimiin

C- tai muilla ohjelmointikielisillä on käsite muuttuja. Näitä muuttujia käytetään arvojen pitämiseen siinä. Näitä muuttujia voidaan käyttää ohjelmoinnin aikana. On kuitenkin harvoja tehtäviä, jotka eivät vaadi muuttujia, vaan vaativat näiden muuttujien osoitteen. Muuttujien osoite tarkoittaa muistin sijaintia, jossa nämä muuttujat ovat olemassa. Tässä aiheessa aiomme oppia osoittimia C: ssä. Voimme määrittää osoittimen muuttujan tyypiksi, jolla on minkä tahansa muun muuttujan osoite, jolla saattaa olla jokin arvo

Osoittimien käyttö ohjelmointikielillä ja C

Keskustelemme nyt siitä, missä C tarvitaan todella osoitin. On monia tehtäviä, kuten dynaaminen muistin allokointi, joka vaatii osoittimia ohjelmoinnin aikana C: ssä. Osoittimien avulla tällainen tehtävä voidaan tehdä helposti

Eri tapoja käyttää muuttuvaa osoitetta C: ssä

Yrittäkäämme tietää, millä eri tavoilla voimme tulostaa muuttujan osoitteen C: ssä.

On olemassa kaksi tapaa, joilla voimme tosiasiallisesti tulostaa muuttujan osoitteen. Nämä kaksi menetelmää ovat:

  1. Käyttämällä ampersand (&) -menetelmää
  2. Käyttämällä osoitinta

Katsokaamme jokaista menetelmää esimerkillä

1. Käyttämällä ampersand (&) -menetelmää

Tässä menetelmässä tulostamme muuttujan osoitteen ampersand-käsitteellä

Katsokaamme tätä esimerkillä

#include
int main () (
double varNumValue= 10.2;
char varTextValue(10) = “abc”;
printf("The address of variable varNumValue: %x\n", &varNumValue );
printf("varTextValue variable address is : %x\n", &varTextValue );
return 0;
)

Kopioi nyt yllä oleva koodinpätkä ja suorita se

Se näyttää seuraavan tuloksen:

The address of variable varNumValue: a0665a48
The address of variable varTextValue is : a0665a3e

Saatat kuitenkin nähdä eri arvon, joka on määritetty satunnaisesti, kun esimerkki suoritetaan

Edellä mainittua esimerkkiä ei käytetä paljon, mutta se on syytä tietää. Katsotaanpa nyt toista konseptia, josta puhumme tässä aiheesta.

2. käyttämällä osoitinta

Tämä on nykyaikainen tapa käyttää muuttujan osoitetta. Ennen kuin käytät osoitinta, kerro meille osoittimen ilmoittamisen yleinen syntaksi

  • Osoittimen ilmoittamisen yleinen syntaksi - Yleinen syntaksi, jota käytämme muuttujan ilmoittamiseen, on:

data_type *variable

Tämä on yleinen tapa ilmoittaa mikä tahansa osoitin C: ssä, tässä data_tyyppi edustaa muuttujan tyyppiä, jonka osoite on tallennettava. * tarkoittaa, että ilmoitettu muuttuja on osoitin. muuttujaa käytetään yksinkertaisesti arvon käyttämiseen

Yksinkertainen esimerkki tästä on:

double *var_text

Kun olet keskustellut osoittimen julistamisen yleisen syntaksin käsitteestä , kerro meille, kuinka voimme käyttää osoitinta ohjelmoinnissa

Jotta voit käyttää osoitinta C: ssä, on periaatteessa noudatettava seuraavia kolmea vaihetta:

  • Osoittimen muuttujan määrittäminen
  • Osoittamalla osoittimelle muuttujan osoite, jonka osoitteen haluamme pitää
  • Nyt kun meillä on osoitinmuuttuja osoitteella, voimme jälleen hakea muuttujan arvon osoittimeen tallennetusta osoitteesta. Tämä voitaisiin tehdä käyttämällä * C: ssä. * On yksinkertaisesti yksi epäyhtenäisistä operaattoreista

Käytämme yllä mainittuja vaiheita esimerkin avulla ja selitämme sitten tämän esimerkin askel askeleelta

esimerkki

#include
int main () (
int varNumValue = 10;
int *ipointervarNumValue;
ipointervarNumValue = &varNumValue;
printf("Address of the variable varNumValue is: %x\n", &varNumValue );
printf("Address stored in the variable ipointervarNumValue is: %x\n", ipointervarNumValue);
printf("Value of the variable *ipointervarNumValue is: %d\n", *ipointervarNumValue );
return 0;
)

Kopioi nyt yllä oleva koodinpätkä ja suorita se

Se näyttää seuraavan tuloksen:

Address of the variable varNumValue is: bf7b7f94
Address stored in the variable ipointervarNumValue is: bf7b7f94
Value of the variable *ipointervarNumValue is: 10

Yritetään nyt ymmärtää yllä olevaa esimerkkiä

Rivi int varNumValue = 10; yksinkertaisesti ilmoittaa muuttujan, jonka arvo on 10

Toinen rivi, joka on vieressä rivi: int * ipointervarNumValue; ilmoitetaan yksinkertaisesti tallentavan muuttujan osoitteen

Seuraava koodinpätkä, joka on: ipointervarNumValue = & varNumValue; käytetään pitämään muuttujan osoitetta. Käytämme tässä ampersand-käsitettä, josta keskustelimme aiemmin artikkelissa

Nyt voimme yksinkertaisesti saada arvon ja käyttää osoitinta koodinpätkässämme

Katsotaanpa nyt erityyppisiä osoittimia C: ssä

C-osoittimen tyypit

C-osoittimella on erityyppisiä osoittimia. Yleensä käytettyjä osoittintyyppejä ovat:

  • NULL osoitin
  • Dangling osoitin
  • Yleiset osoittimet
  • Villi osoitin

Selitetään kukin

1. Null-osoitin: nollaosoitin on tyyppi osoitin, joka ei osoita mitään. Se osoittaa yleensä segmentin perusosoitteeseen. Jos osoittimelle ei määritetä mitään, silloin sillä on nolla-arvo

Sitä käytetään yleensä otsikkotiedostoissa, kuten stdio.h, alloc.h

2. Dangler-osoitin: Tämän tyyppinen osoitin voidaan luoda poistamalla objekti muuttamatta osoittimen arvoa

3. Yleinen osoitin: Tämän tyyppinen osoitin ilmoitetaan tyhjiä tyyppimuuttujaa käyttämällä. Koska datatyyppi on tyhjä, sitä kutsutaan siksi yleiseksi osoittimeksi. Tämäntyyppinen osoitin ei osoita mitään tietoja

4. Villi osoitin: Osoitin, jota ei ole alustettu, tunnetaan villinä osoittimena. Tämäntyyppinen osoitin alustetaan ajon aikana, kun sitä täytyy käyttää. Tämän tyyppinen osoitin tunnetaan villinä osoittimena

johtopäätös

C-osoittimia käytetään osoittamaan muuttujan osoitetta. Näitä muuttujia käytetään dynaamiseen muistin allokointiin C: ssä. Nämä muuttujat ilmoitetaan tähdellä, jotta voidaan osoittaa, että muuttuja on osoitin. Niitä käytetään otsikkotiedostossa ohjelmoinnissa.

Suositellut artikkelit

Tämä on opas C-osoittimiin. Tässä keskustellaan C-osoittimien erityypeistä ja käytöstä menetelmillä ja esimerkeillä. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Mikä on ohjelmointikieli?
  2. C vs. C ++
  3. Kuviot C-ohjelmoinnissa
  4. Parhaat C-kääntäjät
  5. Opas C ++: n osoittimiin
  6. C # -osoittimet esimerkeillä