ábendingum eru notuð alls staðar í C , þannig að ef þú vilt nota C tungumál fullkomlega þú þarft að hafa góðan skilning á ábendingum. A bendillinn er breytilegt eins og aðrar breytur, en tilgangur þess er að geyma minni heimilisfang sumra annarra gagna. Bendillinn hefur einnig gögn tegund svo það veit hvernig á að viðurkenna bita á þeim minni heimilisfang.
Þegar þú horfir á tveimur breytum hlið við hlið í C kóða, getur þú ekki alltaf viðurkenna músina. Þetta getur verið erfitt fyrir jafnvel reyndustu C forritari. Þegar þú býrð fyrst bendi, þó, það er augljóst vegna þess að það verður að vera stjörnu strax fyrir breytu nafninu. Þetta er þekkt sem indirection rekstraraðila í C. Eftirfarandi dæmi póstnúmer skapar heiltölu ég og bendi á heiltölu p:
int i;
int * p;
Nú er það ekkert gildi úthlutað til annað hvort ég eða p. Næst skulum úthluta gildi til i og þá úthluta p til að benda á heimilisfang i
i = 3;.
p = & i;
Hér Hægt er að sjá merkið (&) notað sem heimilisfangi rekstraraðila rétt fyrir i, sem þýðir að " tölu i. " Þú þarft ekki að vita hvað það netfang er að gera verkefni. Það er gott, því það mun líklega vera mismunandi í hvert skipti sem þú keyrir forritið! Þess í stað, heimilisfang rekstraraðili mun ákvarða tengt við breytunni meðan forritið er í gangi. Án heimilisfang rekstraraðila, úthlutun p = ég myndi tengja p minni heimilisfang af 3, bókstaflega, frekar en minni heimilisfang á breytunni i.
Næst skulum líta á hvernig hægt er að nota ábendingum í C kóða og áskoranir sem þú þarft að vera tilbúinn fyrir.
Using Ábendingum Réttur í C
Þegar þú ert með músina, getur þú notað það í stað breytu af sömu gögn gerð í rekstri og starfsemi kallar. Í eftirfarandi dæmi, músina til i er notað í stað af i innan stærri aðgerð. Stjarnan er notað með p (* p) Sýnir að rekstur ætti að nota gildi sem p er bendir til á þeim minni heimilisfang, ekki minni heimilisfang sjálft:
INT B;
B = * p + 2;
Með vísum, það er næstum ómögulegt að skipta verkefni í aðgerðum utan helstu í C program. Til að skýra þetta, íhuga þú hefur búið til breytu í helstu heitir h s