Pagkakaiba sa Pagitan ng Array at Pointer

Talaan ng mga Nilalaman:

Anonim

Ang pangunahing pagkakaiba sa pagitan ng array at pointer ay ang an ang array ay isang istraktura ng data na nag-iimbak ng isang koleksyon ng mga elemento ng parehong uri ng data habang ang isang pointer ay isang variable na humahawak sa address ng isa pang variable sa memorya ng computer.

Ang Array at pointer ay dalawang konsepto na ginamit sa mga wika ng pagprograma tulad ng C at C ++. Ang isang array ay isang koleksyon ng data na nagtataglay ng isang nakapirming bilang ng mga halaga ng parehong uri ng data. Halimbawa, upang maiimbak ang mga marka ng 10 mag-aaral, ang programmer ay maaaring lumikha ng isang array na maaaring mag-imbak ng 10 integer. Sa kabilang banda, ang isang pointer ay isang variable na humahawak sa address ng isa pang variable. Tumutulong ang mga pahiwatig upang ma-access ang memorya at upang mamanipula ang mga address ng memorya.

Array, Pointer

Ano ang isang Array

Ang isang array ay isang istraktura ng data na nag-iimbak ng isang nakapirming bilang ng mga elemento ng parehong uri. Ang lahat ng mga elemento ng array ay nasa magkadugtong na mga lokasyon ng memorya.

Larawan 1: Array

Ipagpalagay na kailangan mong mag-imbak ng mga halagang 50 integer. Posibleng lumikha ng mga variable para sa bawat integer ngunit ito ay mahirap at mas maraming oras. Maaaring magamit ang isang array upang mapagtagumpayan ang isyung ito.

int numero [50];

Ang pahayag sa itaas ay maglalaan ng isang array na tinatawag na mga numero, na maaaring mag-imbak ng limampung integer. Ang isang tukoy na elemento ng array ay maaaring masuri gamit ang index. Ang panimulang indeks ay 0. Tulad ng mayroong 50 mga elemento sa array, ang pangwakas na elemento ay ang index 49.

mga numero [1] = 30;

Ang pahayag sa itaas ay magtatalaga ng halagang 30 sa 1st index ng mga numero ng array.

Halimbawa, ang dobleng average [10]; lilikha ng isang array na tinatawag na average. Maaari itong mag-imbak ng 10 dobleng mga halaga.

Ang isang array ay mas madaling lumikha at mas madaling mag-access ng mga elemento. Sa kabilang banda, ang isang array ay may isang nakapirming laki. Kung ang laki ng array ay 10, hindi ito maaaring magamit upang mag-imbak ng 20 elemento. Sa madaling salita, ang paglalaan ng memorya para sa isang array ay static.

Ano ang isang Pointer

Ang variable ay isang lokasyon ng memorya upang mag-imbak ng isang halaga. Ang bawat lokasyon ng memorya ay may isang address upang makilala ito.

Larawan 2: Pointer

Ang isang pointer ay isang variable na nag-iimbak ng address ng isa pang variable. Ang pointer ay idineklara bago itago ang isang variable na address. Ginagamit ang asterisk * upang ideklara ang isang pointer.

int * ptr;

Ang ptr ay isang pointer sa isang variable na integer.

doble * ptr1;

Ang ptr1 ay isang pointer sa isang dobleng variable. Sumangguni sa sumusunod na code.

Larawan 3: Programa na may Mga Turo

Ang variable na ‘a’ ay naglalaman ng halagang 20. Ang ptr ay isang pointer sa isang integer. Sa linya 8, ang ptr ay nakatalaga sa address ng variable a. Ngayon ptr ay tumuturo sa a. Samakatuwid, ang pagpi-print ng halagang itinuro ng ptr ay magbibigay ng halaga ng a.

Kung walang address na itatalaga, ang pointer ay maaaring italaga sa isang NUL na halaga. Ang ganitong uri ng pointer ay tinatawag na null pointer.

int * ptr = NULL;

Relasyon sa Pagitan ng Array at Pointer

Sumangguni sa programa sa ibaba.

Larawan 4: Mga array na may mga Pointer

Mayroong isang array na tinatawag na arr. Naglalaman ito ng 5 mga integer. Ang ptr ay isang pointer sa isang integer. Sa linya 8, ang arr ay nakatalaga sa ptr. Samakatuwid, ang ptr ay tumuturo sa 0th elemento ng index ng array. Ang pagpi-print ng halaga ng ptr ay magpapakita ng halagang 0ika elemento ng index. 10 na ito

Pagkakaiba sa Pagitan ng Array at Pointer

Kahulugan

Ang Array ay isang istraktura ng data na binubuo ng isang koleksyon ng mga elemento bawat isa na kinilala ng array index. Ang pointer ay isang object ng wika ng programa na nag-iimbak ng memory address ng isa pang halagang matatagpuan sa memorya ng computer.

Batayan

Habang ang isang array ay tumutukoy sa isang hanay ng mga elemento ng data, ang isang pointer ay isang variable na tumuturo sa ilang iba pang lokasyon ng memorya.

Syntax

Syntax ng Array - uri ng data ng arrayName [uri ng data];

Pointer syntax - uri ng data * variable_name;

Paggamit

Kahit na ang mga array ay maaaring magamit upang maglaan ng naayos na laki ng memorya (static memory), maaaring magamit ang mga payo para sa pabagu-bagong paglalaan ng memorya.

Konklusyon

Ang dalawang mga term ng array at pointer ay dalawang mga konsepto ng programa. Ang pagkakaiba sa pagitan ng array at pointer ay ang isang array ay isang istraktura ng data na nag-iimbak ng isang koleksyon ng mga elemento ng parehong uri ng data habang ang isang pointer ay isang variable na humahawak sa address ng isa pang variable sa memorya ng computer.

Sanggunian:

1. "Mga array sa C." Www.tutorialspoint.com, Tutorials Point, Magagamit dito.2. "Mga pahiwatig sa C." Www.tutorialspoint.com, Tutorials Point, Magagamit dito.

Kagandahang-loob ng Larawan:

1. "CPT-programming-array" Ni Pluke - Sariling gawain (CC0) sa pamamagitan ng Wikimedia Wikimedia2. Ang "Mga Puro" Ni Ang file na ito ay ginawa ng Gumagamit: SvenTranslation Sariling gawain (CC BY-SA 3.0) sa pamamagitan ng Commons Wikimedia

Pagkakaiba sa Pagitan ng Array at Pointer