Qhov txawv ntawm Pointer thiab Array

Qhov txawv ntawm Pointer thiab Array
Qhov txawv ntawm Pointer thiab Array

Video: Qhov txawv ntawm Pointer thiab Array

Video: Qhov txawv ntawm Pointer thiab Array
Video: los tham qhov tseeb ntawm tus tub hluas tuag pem tog kev 2024, Kaum ib hlis
Anonim

Pointer vs Array

Ib tus taw tes yog hom ntaub ntawv uas tuav cov lus siv rau qhov chaw nco (piv txwv li tus taw tes hloov pauv khaws qhov chaw nyob ntawm qhov chaw nco uas qee cov ntaub ntawv khaws cia). Arrays yog cov ntaub ntawv feem ntau siv los khaws cov khoom sau. Feem ntau cov lus programming muab txoj hauv kev yooj yim tshaj tawm arrays thiab nkag mus rau cov ntsiab lus hauv arrays.

Tus taw tes yog dab tsi?

A tus taw tes yog hom ntaub ntawv uas khaws qhov chaw nyob ntawm lub cim xeeb qhov chaw uas qee cov ntaub ntawv khaws cia. Hauv lwm lo lus, tus pointer tuav ib qho kev siv rau qhov chaw nco. Kev nkag mus rau cov ntaub ntawv khaws cia hauv qhov chaw nco uas tau hais los ntawm tus taw tes yog hu ua dereferencing. Thaum ua haujlwm rov ua dua xws li hla cov ntoo / hlua, saib lub rooj, thiab lwm yam, siv cov taw qhia yuav txhim kho kev ua haujlwm. Qhov no yog vim hais tias dereferencing thiab luam cov pointers yog pheej yig dua li qhov tseeb luam thiab nkag mus rau cov ntaub ntawv taw qhia los ntawm tus taw tes. Tus pointer null yog tus pointer uas tsis taw tes rau dab tsi. Hauv Java, nkag mus rau tus pointer tsis muaj nuj nqis yuav tsim qhov kev zam hu ua NullPointerException.

Dab tsi yog Array?

Qhia hauv daim duab 1, yog ib qho ntawm cov lej feem ntau siv los tshaj tawm thiab muab cov txiaj ntsig rau ib qho array. Daim duab 2 qhia txog qhov array yuav zoo li cas hauv lub cim xeeb.

int values[5];

values[0]=100;

values[1]=101;

values[2]=102;

values[3]=103;

values[4]=104;

Daim duab 1: Code rau tshaj tawm thiab muab qhov tseem ceeb rau ib qho array

100 101 102 103 104
Index: 0 1 2 3 4

Daim duab 2: Array khaws cia hauv lub cim xeeb

Saum toj no code txhais ib qho array uas tuaj yeem khaws 5 tus lej thiab lawv tau nkag los siv qhov ntsuas 0 txog 4. Ib qho khoom tseem ceeb ntawm ib qho array yog tias, tag nrho cov array raug faib ua ib qho thaiv ntawm lub cim xeeb thiab txhua lub ntsiab lus tau txais nws. tus kheej qhov chaw hauv array. Thaum ib qho array raug txhais, nws qhov loj yog tsau. Yog li yog tias koj tsis paub meej txog qhov luaj li cas ntawm cov array ntawm lub sijhawm sib sau, koj yuav tsum tau txhais cov array loj txaus kom nyob rau sab nyab xeeb. Tab sis, feem ntau ntawm cov sij hawm, peb yeej yuav siv tsawg dua cov ntsiab lus uas peb tau faib. Yog li ntawd, ib tug ntau npaum li cas ntawm lub cim xeeb yog tiag nkim. Ntawm qhov tod tes, yog tias "loj txaus array" tsis loj txaus, qhov kev pab cuam yuav poob.

Dab tsi yog qhov txawv ntawm Pointers thiab Arrays?

Ib tus taw tes yog hom ntaub ntawv uas khaws qhov chaw nyob ntawm qhov chaw nco hauv uas qee cov ntaub ntawv khaws cia, thaum Arrays yog cov ntaub ntawv feem ntau siv los khaws cov khoom sau. Nyob rau hauv C programming lus, array indexing yog ua tiav siv pointer arithmetic (piv txwv li lub ntsiab ntawm cov array x yuav sib npaug rau(x + i)). Yog li ntawd nyob rau hauv C, teeb ntawm pointers uas taw tes rau ib txheej ntawm lub cim xeeb qhov chaw uas sib law liag, yuav xav tias yog ib tug array. Tsis tas li ntawd, muaj qhov sib txawv ntawm qhov luaj li cas ntawm tus neeg teb xov tooj ua haujlwm ntawm pointers thiab arrays. Thaum siv rau ib qho array, qhov loj ntawm tus neeg teb xov tooj yuav rov qab tag nrho qhov loj ntawm cov array, whereas thaum siv rau tus pointer, nws yuav rov qab tsuas yog qhov loj ntawm tus pointer.

Pom zoo: