Video: C# Tutorial 10 - Pole 3 - Základní operace s poli a generování náhodných čísel 2025
Statické pole jsou přiděleny na zásobníku, což mohou omezit jejich použitelnost. Dynamická pole jsou přidělena na hromadu, což znamená, že jsou omezeny pouze velikostí paměti. Je pravda, že mezi dynamickými a statickými polimi najdete několik dalších rozdílů, ale spodní čára zde je, že ačkoli dynamické pole vyžadují trochu víc práce, protože musíte spravovat paměť sami, poskytují také větší flexibilitu při práci s data.
Více než pravděpodobné budete chtít zpracovávat složitá data při použití dynamických polí. Příklad v tomto online článku je zaměřen na potěšení při pohledu na to, jak můžete použít dynamické pole se strukturou. Zde je příklad kódu, který můžete použít:
#include #include using namespace std; struct Zaměstnanec {string Name; int Age;}; int main () {Zaměstnanec * DynArray; DynArray = nový (nothrow) Zaměstnanec [3]; DynArray [0]. Název = "Harvey"; DynArray [0]. Věk = 33; DynArray [1]. Jméno = "Sally"; DynArray [1]. Věk = 26; DynArray [2]. Jméno = "Jeff"; DynArray [2]. Věk = 52; cout << "zobrazující obsah pole" << endl; pro (int i = 0; i <3; i ++) {cout << "jméno:" << dynArray [i]. Jméno << "tAge:" << dynArray [i]. Věk << endl;} odstranit [] DynArray; návrat 0;}
V tomto příkladu začíná kód vytvářením struktury zaměstnance, která obsahuje jméno a věk zaměstnance. Mohli byste použít libovolný typ datového kontejneru, který byste chtěli být - struktura.
Chcete-li vytvořit dynamické pole, definujete ukazatel na proměnnou pole. Tento zákon umístí proměnnou na haldu, nikoli na zásobník. Pak vytvoříte pole, které v tomto případě obsahuje tři položky Zaměstnanec. Kód zaplní data a poté použije smyčku k zobrazení výsledků na obrazovce. Zde je to, co byste měli vidět při spuštění příkladu.
Zobrazuje název obsahu pole: Harvey Věk: 33 Jméno: Sally Věk: 26 Jméno: Jeff Věk: 52
Všimněte si, že získáte přístup k jednotlivým členům zaměstnance, jméno člena. Je důležité si uvědomit, že dynamické pole se chová jako jakékoli jiné pole v tom, že přistupujete k indexu, abyste získali konkrétní položku.
Pro odstranění paměti, kterou používá DynArray, je nezbytné použít vymazat []. V opačném případě bude vaše aplikace mít únik paměti, který nakonec ovlivní výkon systému nebo přinejmenším způsobí, že dělá zábavné věci. Vzhledem k tomu, že naše systémy jsou již vtipné a působí dostatečně, je to asi dobrý nápad zajistit, aby vaše aplikace "nepřispěla k problému.
