C un C++ ir visbiežāk lietotās programmēšanas valodas, jo tās ir pamata iesācēju durvis uz programmēšanas pasauli. Norādes un atsauces ir dažas no visnoderīgākajām iespējām, ko šīs valodas nodrošina. Rādītāji tiek izmantoti C un C++, un atsauces tiek atbalstītas C++, Python un citās valodās.
Atslēgas
- Rādītāji saglabā mainīgo vai objektu atmiņas adreses, savukārt atsauces darbojas kā esošo mainīgo aizstājvārdi.
- Rādītājus var atkārtoti piešķirt dažādām atmiņas adresēm, savukārt atsauces nevar mainīt pēc inicializācijas.
- Rādītājiem ir nepieciešama skaidra atsauces atcelšana, lai piekļūtu vērtībai, uz kuru tās norāda, savukārt atsauces var izmantot tieši, tāpat kā sākotnējo mainīgo.
Rādītājs pret atsauci
Rādītājs ir mainīgais, kas saņem cita mainīgā lieluma atmiņas adresi, un to programmā var inicializēt vairākas reizes atkarībā no tā, cik reizes tas ir nepieciešams. Atsauce ir alternatīvs programmas mainīgais, un to var inicializēt tikai vienu reizi visā programmā.
Rādītājs ir mainīgais, kura vērtība ir cita mainīgā adrese vai atrašanās vieta. Tos var inicializēt jebkurā programmas vietā ar tādiem operatoriem kā “*” un “->”. Rādītāja mainīgo var arī padarīt par nulli, un tie atbalsta arī atkārtotu inicializāciju. Pamatdatu tips deklarē norādes, kam seko zvaigznīte un rādītāja nosaukums.
Atsauce ir mainīgais ar citu nosaukumu jau smalkam programmas mainīgajam. Tiklīdz tiek izveidots atsauces mainīgais, tas ir jāinicializē. Tas veido aizstājvārdu citam mainīgajam. Tiek izmantots operators & dizains atsauces. Tos veido bāzes datu tips, kam seko “&” un mainīgā nosaukums.
Salīdzināšanas tabula
Salīdzināšanas parametri | Rādītājs | atsauces |
---|---|---|
Definīcija | Mainīgo, kurā ir cita mainīgā atmiņas adrese, sauc par rādītāja mainīgo. | Atsauce ir aizstājvārds uz citu mainīgo, atsauce uz to. |
Null atsauce | Rādītājam var piešķirt nulles vērtību. | Atsauces mainīgajam nav piešķirtas nulles vērtības. |
sintakse | Datu tips *PointerName; Kur Datatype ir bāzes datu tips un PointerName ir deklarētā rādītāja nosaukums. | Datu tips &ReferenceName = OtherVariable; Kur ReferenceName ir atsauces nosaukums un OtherVariable ir mainīgais, uz kuru tiek atsaukta. |
Inicializācijas | Ir iespējams izveidot uninicializētus rādītājus. | Atsauces nekad nevar izveidot neinicializētā |
Atkārtoti inicializācija | Rādītāja mainīgos pēc vajadzības programmā var inicializēt atkal un atkal. | Atsauces mainīgo var inicializēt tikai vienu reizi programmā. |
Kas ir rādītājs?
Īsumā, rādītājs ir mainīgais, kas satur jebkura cita programmas mainīgā lieluma atmiņas vietu vai adresi. Rādītāji darbojas C un C++ valodās. Rādītāja mainīgais saglabā rādītāja mainīgā adreses atrašanās vietu. Rādītāja mainīgos var deklarēt un pēc tam inicializēt ar mainīgo, kura adrese ir jānosaka.
Turklāt tiem ir skaidrība, jo vesela skaitļa rādītājs var saturēt tikai vesela skaitļa mainīgā adresi. Rādītājiem ir skaidrs deklarēšanas veids. Piemēram, int *point ir rādītājs uz mainīgo, kura tips ir int, un double *ABC ir rādītājs uz mainīgo ar datu tipu double. Tas pats jēdziens attiecas arī uz citiem datu veidiem. Tādējādi rādītājs tiek deklarēts šādā veidā:
int *rādītāja mainīgais;
Pēc rādītāja deklarēšanas rādītāja mainīgais tiek piešķirts mainīgajam, kura adrese ir jānosaka. Iepriekš minētajā deklarācijas paziņojumā tiek izmantots rādītājs, kas saglabās vesela skaitļa mainīgā vērtību.
rādītāja mainīgais = &a;
Šeit a ir vesels skaitlis mainīgais, kas tiek izmantots programmas otrā pusē, kuras adrese ir saglabāta mainīgā rādītājā. Rādītāji arī sniedz atbildība lai tiktu atkārtoti inicializēts. To vērtības var mainīt atbilstoši viņu vajadzībām.
Kas ir atsauce?
Atsauces mainīgais ir aizstājvārds citam mainīgajam. Citiem vārdiem sakot, mainīgais, kas attiecas uz citu programmas pastāvošo mainīgo, tiek uzskatīts par atsauces mainīgo.
Tiem ir ierobežojums, jo tos nevar piešķirt nulles vērtībai, un tos nevar deklarēt, tie ir tikai inicializēti. Pēc atsauces izveidošanas mainīgajam var piekļūt pēc atsauces nosaukuma vai tā sākotnējā nosaukuma. Atsauces tiek tieši inicializētas. Piemērs,
int &ref = var;
Šeit ref ir atsauces mainīgā nosaukums, un tas norāda uz mainīgo var, kas ir inicializēts citā programmas daļā. Kad tiek izdrukātas ref un var vērtības, tiek novērots, ka ref un var ir vienādas vērtības. Rādītāji ir izdevīgi atmiņas taupīšanai, jo, kad tie tiek nodoti funkcijai kā argumenti, tie izmanto sākotnējo atmiņas vietu katram funkcijas izsaukumam.
Atsauces mainīgie nenodrošina atkārtotu inicializāciju, un tie ir tikai inicializēti un unikāli. Atsauces nenorāda uz mainīgo, saglabājot tā adresi atsevišķā atmiņas vietā. Vienkārši sakot, atsauces mainīgais ir alternatīvs esoša mainīgā nosaukums. Tie ir tikai aizstājvārdi citā mainīgā nosaukumā, uz kuru jāatsaucas.
Galvenās atšķirības starp rādītāju un atsauci
- Rādītāja mainīgais tiek norādīts, apejot ar atsauci, savukārt atsauces mainīgais tiek norādīts, apejot pēc vērtības.
- Norādes atbalsta iespēju norādīt uz citiem rādītājiem, savukārt atsaucēm šīs priekšrocības trūkst. Atsauces mainīgais nevar norādīt uz vairākiem mainīgajiem.
- Norādes atbalsta izmantošanu aritmētika operatori un darbojas kā operandi, savukārt atsauces mainīgie nevar būt saderīgi ar aritmētiskām darbībām.
- Rādītāja mainīgā lielums un atmiņas adrese ir stekā, savukārt atsauces mainīgajam ir sākotnējā mainīgā atmiņas adrese, taču tas arī aizņem nedaudz vietas kaudzē.
- Rādītājiem ir deklarācijas priekšrocības, savukārt atsauces tiek tikai inicializētas.
- https://link.springer.com/article/10.1023/A:1015362608943
- https://dl.acm.org/doi/pdf/10.1145/99583.99599
Pēdējo reizi atjaunināts: 11. gada 2023. jūnijā
Sandeep Bhandari ir ieguvis inženierzinātņu bakalaura grādu datorzinātnēs Tapara universitātē (2006). Viņam ir 20 gadu pieredze tehnoloģiju jomā. Viņam ir liela interese par dažādām tehniskajām jomām, tostarp datu bāzu sistēmām, datortīkliem un programmēšanu. Vairāk par viņu varat lasīt viņa vietnē bio lapa.
Es novērtēju detalizētu norāžu un atsauču skaidrojumu. Tas ir lielisks resurss tiem, kas apgūst programmēšanu.
Šī ir lieliska lasāmviela tiem, kas iedziļinās programmēšanas un kodēšanas pasaulē.
C un C++ ir pamati, taču ir ļoti svarīgi saprast norādes un atsauces, kas iesācējiem var būt nedaudz mulsinoši.
ES piekrītu. Par šiem jēdzieniem ir daudz ko uzzināt.
Lielisks raksts. Ļoti informatīvs un saprotams.
Ir svarīgi saprast norādes un atsauces. Šis raksts piedāvā visaptverošu izpratni par šiem jēdzieniem.
Salīdzināšanas tabula bija ļoti noderīga, lai izprastu atšķirības starp rādītājiem un atsaucēm.
Raksts sniedza skaidrību par neskaidru tēmu.
Es tam piekrītu. Tas atviegloja koncepcijas uztveri.
C un C++ ir visbiežāk lietotās programmēšanas valodas, jo tās ir pamata iesācēju durvis uz programmēšanas pasauli. Norādes un atsauces ir dažas no visnoderīgākajām iespējām, ko šīs valodas nodrošina. Rādītāji tiek izmantoti C un C++, un atsauces tiek atbalstītas C++, Python un citās valodās.
Paldies par informatīvo rakstu.
Norādes un atsauces spēlē ļoti svarīgu lomu programmēšanā. Ir labi atrast informāciju par to atšķirībām.