Rozdiel medzi poľom a ukazovateľom

Obsah:

Anonim

The hlavný rozdiel medzi poľom a ukazovateľom je to pole je dátová štruktúra, ktorá ukladá kolekciu prvkov rovnakého dátového typu, zatiaľ čo ukazovateľ je premenná, ktorá uchováva adresu inej premennej v pamäti počítača.

Pole a ukazovateľ sú dva koncepty používané v programovacích jazykoch, ako napríklad C a C ++. Pole je zbierka údajov, ktorá obsahuje pevný počet hodnôt rovnakého dátového typu. Napríklad na uloženie značiek 10 študentov môže programátor vytvoriť pole, ktoré môže uložiť 10 celých čísel. Na druhej strane ukazovateľ je premenná, ktorá obsahuje adresu inej premennej. Ukazovatele pomáhajú získať prístup k pamäti a manipulovať s pamäťovými adresami.

Pole, ukazovateľ

Čo je pole

Pole je dátová štruktúra, ktorá ukladá pevný počet prvkov rovnakého typu. Všetky prvky poľa sú v priľahlých pamäťových miestach.

Obrázok 1: Pole

Predpokladajme, že musíte uložiť hodnoty 50 celých čísel. Je možné vytvárať premenné pre každé celé číslo, ale je to náročné a časovo náročnejšie. Na vyriešenie tohto problému je možné použiť pole.

int čísla [50];

Vyššie uvedený príkaz alokuje pole nazývané čísla, ktoré môže uložiť päťdesiat celých čísel. Špecifický prvok poľa možno posúdiť pomocou indexu. Počiatočný index je 0. Pretože v poli je 50 prvkov, konečný prvok má index 49.

čísla [1] = 30;

Vyššie uvedený príkaz priradí hodnotu 30 k 1sv index poľa čísel.

Napríklad dvojitý priemer [10]; vytvorí pole s názvom priemer. Môže uložiť 10 dvojitých hodnôt.

Pole je jednoduchšie vytvárať a prvky, ku ktorým je prístup, je jednoduchší. Na druhej strane pole má pevnú veľkosť. Ak je veľkosť poľa 10, nemožno ho použiť na uloženie 20 prvkov. Inými slovami, alokácia pamäte pre pole je statická.

Čo je to ukazovateľ

Premenná je miesto v pamäti na uloženie hodnoty. Každé miesto v pamäti má svoju adresu, pomocou ktorej ho môžete identifikovať.

Obrázok 2: Ukazovateľ

Ukazovateľ je premenná, ktorá ukladá adresu inej premennej. Ukazovateľ je deklarovaný pred uložením adresy premennej. Hviezdička * slúži na deklaráciu ukazovateľa.

int *ptr;

Ptr je ukazovateľ na celočíselnú premennú.

dvojitý *ptr1;

Ptr1 je ukazovateľ na dvojnásobnú premennú. Pozrite sa na nasledujúci kód.

Obrázok 3: Program s ukazovateľmi

Premenná ‘a’ obsahuje hodnotu 20. Ptr je ukazovateľ na celé číslo. V riadku 8 je ptr priradená adresa premennej a. Teraz ptr ukazuje na a. Preto vytlačením hodnoty označenej ptr získate hodnotu a.

Ak nie je možné priradiť žiadnu adresu, ukazovateľ môže byť priradený hodnotou NULL. Tento typ ukazovateľa sa nazýva nulový ukazovateľ.

int *ptr = NULL;

Vzťah medzi poľom a ukazovateľom

Pozrite sa na nižšie uvedený program.

Obrázok 4: Polia s ukazovateľmi

Existuje pole nazývané arr. Obsahuje 5 celých čísel. Ptr je ukazovateľ na celé číslo. V riadku 8 je arr priradené ptr. Preto ptr ukazuje na 0. indexový prvok poľa. Po vytlačení hodnoty ptr sa zobrazí hodnota 0th indexový prvok. Je 10.

Rozdiel medzi poľom a ukazovateľom

Definícia

Pole je dátová štruktúra pozostávajúca zo súboru prvkov, z ktorých každý je identifikovaný indexom poľa. Ukazovateľ je objekt programovacieho jazyka, ktorý ukladá adresu pamäte inej hodnoty umiestnenej v pamäti počítača.

Základ

Kým pole odkazuje na množinu dátových prvkov, ukazovateľ je premenná, ktorá ukazuje na iné miesto v pamäti.

Syntax

Syntax poľa - dátový typ poleNázov [dátový typ];

Syntax ukazovateľa - typ údajov * názov_ premennej;

Použitie

Napriek tomu, že na alokovanie pamäte s pevnou veľkosťou (statická pamäť) je možné použiť polia, na dynamické prideľovanie pamäte je možné použiť ukazovatele.

Záver

Dva pojmy pole a ukazovateľ sú dva koncepty programovania. Rozdiel medzi poľom a ukazovateľom je v tom, že pole je dátová štruktúra, ktorá ukladá zbierku prvkov rovnakého dátového typu, zatiaľ čo ukazovateľ je premenná, ktorá uchováva adresu inej premennej v pamäti počítača.

Referencia:

1. „Polia v C.“ Www.tutorialspoint.com, Tutorials Point, dostupné tu.2. “Ukazovatele v C.” Www.tutorialspoint.com, Tutorials Point, K dispozícii tu.

Obrázok so súhlasom:

1. „CPT-programming-array“ od Pluke-vlastná práca (CC0) prostredníctvom Commons Wikimedia2. „Ukazovatele“ Tento súbor vytvoril používateľ: SvenTranslation Vlastné dielo (CC BY-SA 3.0) prostredníctvom Commons Wikimedia

Rozdiel medzi poľom a ukazovateľom