Habang natututo ng C, maaaring napag-alaman mo ang term na 'Mga Taguro', at madalas na naririnig na ito ay isang konsepto na mahirap maunawaan. Ang mga pahiwatig ay kapaki-pakinabang sa iba't ibang mga gawain sa programa at, hindi ito mahirap unawain. Ipakilala ka ng artikulong ito sa mga payo sa C at sasabihin sa iyo kung bakit hindi sila ganoon kahirap matuto ayon sa hitsura nila.
Ang mga sumusunod ay mga pahiwatig na saklaw sa artikulong ito,
- Ano ang Isang Pointer?
- Mga Operator ng Sanggunian at De-Sanggunian
- Mga Uri Ng Turo
- Paano Gumamit ng Isang Pointer
Magsimula tayo sa unang piraso ng pointer na ito sa artikulong C,
Mga Turo Sa C
Ano ang Isang Pointer?
Ang isang pointer ay isang variable na may kakayahang itago ang address ng isang variable. Ngayon, maaari mong tanungin kung ano ang silbi niyan? Talaga, ang pointer ay tumuturo sa lokasyon ng memorya ng variable na ibinigay ang address. Tumutulong ang pag-aari na ito sa paglalaan ng Dynamic na memorya, na isang mahalagang aspeto ng pagprograma.
Unawain natin na ito ay syntax at tingnan ang isang halimbawa
Data_Type * pointer_name
Halimbawa: int * ptr
Ang sumusunod ay ang susunod na piraso sa artikulong Pointers sa C na ito
Mga Operator ng Sanggunian at De-Sanggunian
Bago sumisid ng mas malalim sa konsepto ng pointer maunawaan natin ang ilang mga pangunahing kaalaman na makakatulong sa atin sa paglaon. Habang gumagamit ng mga pointer tiyak na gagamitin mo ang mga operator ng '&' at '*'. Ngayon na ang oras upang maunawaan ang kanilang kahulugan at paggamit.
Una, unawain natin ang Reference operator na madalas na tinatawag na 'Address of' operator. Ang paggamit ng (ampersand) operator na may variable ay magbabalik sa amin ng isang lokasyon ng memorya na kilala rin bilang address ng ibinigay na variable.
Halimbawa
mga paraan upang lumikha ng klase ng singleton sa java
int * ptr int a ptr = & a
Ang address ng variable 'a' ay nakaimbak sa variable ptr.
Ngayon, unawain natin ang De-Referencing o 'Halaga sa' operator na tinukoy ng isang asterisk (*). Nakatutulong ito sa pagkuha ng halaga mula sa lokasyon ng memorya na nakaimbak sa variable ng pointer
Halimbawa
int * ptr int a * ptr = & isang printf ('Halaga ng a =% dn', * ptr)
Mga Uri Ng Pointer Ang * ginamit habang idinedeklara ang isang pointer ay hindi para sa layunin ng De-Referencing ngunit, sinasabi sa tagatala na ang ibinigay na variable ay isang pointer.Ang naka-print na pahayag sa itaas ay naglilimbag ng halagang naroroon sa lokasyon ng memorya at ang lokasyon ng memorya na ito ay itinuro ng pointer. ie halaga ng variable na 'a'.
Mayroong maraming mga uri ng mga payo na magkakaiba batay sa paraan ng paggamit sa isang programa.Titingnan namin ang ilan sa mga karaniwang ginagamit na uri.
Null Pointer
Ang isang null na halaga ay itinalaga sa isang pointer kapag hindi ka sigurado kung anong address ang itatalaga. Maaari itong gawin sa pamamagitan ng pagtatalaga ng halagang 'NULL' sa isang pointer sa oras ng pagdeklara. Ang halaga ng pointer na ito ay 0.
int * ptr = NULL
Wild Pointer
Ang isang ligaw na pointer ay nilikha sa pamamagitan ng hindi pagtatalaga ng anumang halaga sa isang variable ng pointer. Dapat itong gamitin nang maingat dahil maaaring magresulta sa hindi inaasahang mga resulta.
Nakabitin na Pointer
Kapag ang isang pointer ay tumuturo sa isang tinanggal na variable o de-inilalaan na memorya ang pointer ay kilala bilang isang nakabitin na pointer.Itinuturo ng pointer na ito ang isang walang lokasyon ng memorya. Tingnan natin ang susunod na piraso ng artikulong ito ng Pointers sa C
Paano Gumamit ng Isang Pointer
Ngayon ay mayroon kaming isang maikling pag-unawa sa mga operator ng Sanggunian at dereferensi. Sa seksyong ito, mauunawaan namin kung paano gamitin ang mga payo. Hanggang ngayon natutunan namin kung paano ideklara ang isang pointer at gamitin ito para sa ilang pangunahing operasyon. Sa puntong ito, mayroon kaming sapat na kaalaman upang magamit ang mga payo para sa talagang kamangha-manghang mga gawain sa programa sa pamamagitan ng paggawa sa kanila ng mga pagpapatakbo ng aritmetika.
java convert ang string sa petsa
Karaniwan, ang mga operasyong ito ay ginaganap sa mga arrays. Ang pagbabawas sa 2 mga address ay maaaring magbigay sa amin ng distansya sa pagitan ng 2 mga lokasyon ng memorya.
int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Ang aming hanay kung saan magsasagawa kami ng mga operasyon * / int * ptr / * Pointer * / ptr = First_array / * Italaga ang address ng array sa variable ng pointer * / para sa (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } }
Paglabas
Subukang ipatupad ang code sa iyong sarili at magsagawa ng iba't ibang mga pagpapatakbo ng arithmetic.Gumamit tayo ng mga payo na may mga string.
#include #include int main () {char str [] = 'Hello World' / * Lumilikha ng isang array * / char * p / * Pointer * / p = str printf ('Pagpi-print sa lahat ng mga character sa aming stringn') p = str para sa (int i = 0i
Sa pamamagitan nito napunta kami sa dulo ng blog na ito sa 'Pointers In C'. Inaasahan kong nahanap mo ito na nagbibigay-kaalaman at kapaki-pakinabang, manatiling nakasubaybay para sa higit pang mga tutorial sa mga katulad na paksa. Maaari mo ring i-checkout ang aming programa sa pagsasanay to makakuha ng malalim na kaalaman sa jQuery kasama ang iba't ibang mga aplikasyon, maaari mo para sa live na pagsasanay sa online na may suporta na 24/7 at habang-buhay na pag-access.Ipatupad ang code sa itaas na may iba't ibang mga string at pagbabago. Ngayon, mayroon kaming mahusay na pag-unawa sa lahat ng mga pangunahing konsepto na nauugnay sa pointer.May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng mga komento ng blog na ito at babalikan ka namin.