„Bendir“: Munur á milli breytinga

Efni eytt Efni bætt við
Addbot (spjall | framlög)
m Bot: Flyt 30 tungumálatengla, sem eru núna sóttir frá Wikidata á d:q118155
m <source> -> <syntaxhighlight> (phab:T237267)
Lína 9:
== Dæmi ==
Fyrst skilgreinum við venjulega heiltölubreytu:
<sourcesyntaxhighlight lang="c">
int breyta = 4;
</syntaxhighlight >
</source>
 
Í [[C (forritunarmál)|C]] eru bendar táknaðar með ''*'' tákni framan við nafn breytunnar í skilgreiningunni:
<sourcesyntaxhighlight lang="c">
int *pBreyta;
</syntaxhighlight>
</source>
 
Svo gefum við bendinum gildi með því að láta hann vísa í minnishólf upphaflegu breytunnar. ''&'' táknið er [[einundaraðgerð]] (unary operator) sem skilar minnishólfi breytunnar sem á eftir henni fylgir.
<sourcesyntaxhighlight lang="c">
pBreyta = &breyta;
</syntaxhighlight>
</source>
 
Ef við viljum prenta út eða nota stakið í bendinum þurfum við að afvísa hann. Það er gert með því að setja ''*'' táknið fyrir framan breytuna.
<sourcesyntaxhighlight lang="c">
int summa = 5 + *pBreyta; // hér inniheldur summa töluna 9.
int summa2 = 5 + pBreyta; // hér á þýðandinn að gefa villu.
</syntaxhighlight>
</source>
 
Hér er dæmi sem sýnir hvernig bendar og breytur eru sendar í föll.
<sourcesyntaxhighlight lang="c">
// Byrjum á því að skilgreina tvær breytur
int breyta = 8;
Lína 53:
cout << breyta << endl; // hér prentast út 8
cout << *pBreyta << endl; // hér prentast út 16
</syntaxhighlight>
</source>
 
Ástæðan fyrir því að fyrri breytan inniheldur enn töluna <tt>8</tt> er sú að breytan sjálf var ekki send inní fallið heldu bara gildi hennar (þ.e. talan <tt>8</tt>).