Rozdíl mezi typem hodnoty a typem odkazu

Klíčový rozdíl - typ hodnoty vs Odkaz Typ
 

Programovací jazyk je navržen tak, aby dával počítači pokyny k provádění úkolů. Program může manipulovat s daty obsahujícími čísla, znaky a řetězce a vytvářet informace pro uživatele. Pořadí instrukcí psaných ve specifickém programovacím jazyce je program. V programovacích jazycích, jako je C #, existují žetony. To jsou klíčová slova, identifikátory, literály a operátory. Vyhrazená paměťová místa pro ukládání dat se nazývají proměnné. Proměnná může uložit hodnotu určitého typu. Datové typy lze rozdělit na typ hodnoty a typ odkazu. Rozlišení mezi typem hodnoty a typem odkazu závisí na dvou prvcích. Tam jsou proměnné uloženy v paměti a jak se chovají pomocí příkazu přiřazení. Tento článek popisuje rozdíl mezi typem hodnoty a typem odkazu. klíčový rozdíl mezi typem hodnoty a typem odkazu je to typ hodnoty uchovává datovou hodnotu ve svém vlastním paměťovém prostoru, zatímco typ odkazu drží ukazatel na jiné paměťové místo, kde jsou uložena data.

OBSAH

1. Přehled a klíčový rozdíl
2. Co je hodnota typu
3. Co je referenční typ
4. Podobnosti mezi typem hodnoty a typem odkazu
5. Porovnání vedle sebe - typ hodnoty vs. typ odkazu v tabulkové formě
6. Shrnutí

Co je typ hodnoty?

Typy hodnot lze rozdělit do dvou kategorií. Jsou to předdefinované typy a uživatelem definované typy. Předdefinované typy jsou poskytovány programovacím jazykem. Mohou to být číselné, znakové nebo desítkové. Numerické typy mohou být integrální typy, typy s pohyblivou řádovou čárkou a desetinné typy. Integrální typy lze dále rozdělit na podepsané a nepodepsané. Podepsaná celá čísla mohou ukládat kladné nebo záporné číslo. Sbyte, short, int a long jsou podepsané datové typy.

Sybte je jeden bajt, krátký jsou dva bajty, int je čtyři bajty a dlouhý je osm bajtů. Podepsaný typ ukládá kladné hodnoty. Byte, ushort, uint a ulong jsou příklady nepodepsaných typů. U typů s pohyblivou řádovou čárkou lze uložit číselnou hodnotu s desetinnou čárkou. Plovák má ukládat 32bitovou hodnotu s plovoucí desetinnou čárkou s přesnou přesností a dvojitý se používá k ukládání 64bitové plovoucí desetinné čárky s přesnou přesností. Desítkový typ je určen pro hodnoty vysoké přesnosti. Datový typ char se používá k uložení jediného znaku do paměti. Někdy je nutné uložit skutečnou nebo nepravdivou hodnotu. Boolean se k tomu používá. Toto jsou některé příklady typů hodnot poskytovaných programovacím jazykem.

Uživatel může také vytvářet typy hodnot. Dva takové typy hodnot definované uživatelem jsou struktura a výčty. Struktura obsahuje data různých typů. Je to podobné třídě. Klíčové slovo'struct 'se používá k deklaraci strukturní proměnné. Příklad struktury je následující.

struct Zaměstnanec

public int empNo;

název veřejného řetězce;

Výčty se používají ke zvýšení čitelnosti kódu. Používá se k přidělování jmen číslům. Klíčové slovo 'enum' se používá k deklaraci výčtu. Příklad výčtu je následující. např. - výčet Barva černá, bílá, fialová. Klíčové slovo enum automaticky vypočítá seznam slov přiřazením hodnot začínajících od 0. Podle výše uvedeného příkladu je černé přiřazeno 0, bílé je přiřazeno 1 a fialové je přiřazeno 2. Pokud je psáno jako enum Color black, bílá = 3, fialová, potom je černé přiřazeno 0 a fialové 4. To jsou některé příklady typů hodnot. Jsou uloženy v zásobníku. Při přiřazení hodnoty jiné proměnné se hodnota zkopíruje do nového umístění. Proto v paměti existují dvě kopie stejné hodnoty.

Co je typ odkazu?

Referenční typy lze rozdělit do dvou kategorií jako uživatelem definované a předdefinované typy. Některé příklady uživatelem definovaných typů jsou třídy, rozhraní a pole. Třída se používá k vytváření objektů. Třída se skládá z datových členů a metod. Datové členy popisují atributy a metody popisují chování. Rozhraní obsahuje pouze prohlášení členů. Členové by měli být definováni odvozenou třídou. Pole může ukládat více prvků stejného datového typu.

Předdefinované typy jsou typ objektu a typ řetězce. Typ objektu je základní typ pro všechny ostatní typy definované uživatelem. Odkazy na objekty se používají k navázání na objekt jakéhokoli konkrétního typu. Řetězcové literály jsou uloženy v řetězcových objektech jako hodnoty. Pomocí nich lze provádět operace, jako je kopírování, porovnávání a zřetězení. Toto je několik příkladů referenčního typu. Typy odkazů jsou uloženy na haldě. Při přiřazení jedné referenční proměnné k jiné referenční proměnné se zkopíruje pouze reference. Skutečná hodnota zůstává stejná.

Jaká je podobnost mezi typem hodnoty a typem odkazu?

  • Jak typ hodnoty, tak typ odkazu jsou kategorie datových typů v programování.

Jaký je rozdíl mezi typem hodnoty a typem odkazu?

Typ hodnoty vs. typ odkazu

Typ hodnoty uchovává datovou hodnotu ve svém vlastním paměťovém prostoru. Typ odkazu obsahuje ukazatel na jiné paměťové místo, kde jsou uložena data.
 Úkol
V typu hodnoty je hodnota zkopírována do nového umístění, takže v paměti jsou dvě identické kopie stejné hodnoty. V typu odkazu se reference zkopíruje, zatímco skutečná hodnota zůstává stejná.
Uložené umístění
Typ hodnoty je uložen v zásobníku. Typ odkazu je uložen na haldě.
 Příklady
Int, float, double, struct, enum jsou některé příklady typů hodnot. Třída, pole, rozhraní jsou některé příklady referenčních typů.

souhrn - Typ hodnoty vs Odkaz Typ

Data jsou uložena na vyhrazených místech paměti známých jako proměnné. Každá proměnná ukládá konkrétní datový typ. Datové typy lze rozdělit do dvou kategorií. Jedná se o typ hodnoty a typ odkazu. Rozdíl mezi typem hodnoty a typem odkazu je v tom, že typ hodnoty drží datovou hodnotu ve svém vlastním paměťovém prostoru, zatímco typ odkazu drží ukazatel na jiné paměťové místo, kde jsou uložena data..

Odkaz:

1.Typ hodnoty a typ odkazu, Výukové programyTeacher.com. K dispozici zde
2.Balagurusamy, E. Programování v C #, premier. Čtvrté vydání, McGraw Hill Education (India) Private Limited, 2016.