Co je to prázdné pole?
Přesná definice toho, co je prázdné pole v počítačovém programování, není vždy jasná. Jednou běžnou interpretací je, že pole je prázdné, pokud obsahuje nulové prvky, ačkoli ne všechny počítačové jazyky umožňují matici deklarovat tímto způsobem. Jiná interpretace prázdného pole je pole, ve kterém jsou všechny datové prvky buď nulové, nulové nebo nedefinované, v závislosti na použitém programovacím jazyce. Některé jazyky rozlišují mezi polem, které je prázdné, a polem, které dosud nebylo přiděleno a je rovno null, i když jiné jazyky mohou považovat nepřidělené pole za prázdné pole.
Existují specifické případy, ve kterých lze pole deklarovat v programu bez prvků, což znamená, že nemůže obsahovat žádná data a je považováno za prázdné pole. Jedná se často o dynamická pole, která mohou zvýšit počet prvků, protože pole bez prvků je v zásadě nepoužitelné. V objektově orientovaných programovacích jazycích může být prázdné pole deklarováno uvnitř objektu wrapper třídy třídy, který udržuje interně strukturu dat pole. V některých skriptovacích a meta-jazycích je prázdné pole předáno jako parametr funkcím, které mají být vyplněny nebo přiřazeny hodnoty z jiného zdroje dat.
Druhým významem prázdného pole je pole, které bylo inicializováno, takže neobsahuje žádná data nebo je vyplněno hodnotami, které indikují, že žádná data nejsou přítomna. Důvodem je to, že v jazycích, jako je C, i když je přidělen paměťový prostor pro pole, stále obsahuje veškerá zbytková data z předchozích programů nebo souborů, které by mohly prostor obsadit. Chcete-li vyprázdnit pole, jako je toto, musí být každý prvek opakován a poté nastaven na neutrální hodnotu. Tato hodnota může být skutečná hodnota American Standard Code for Information Interchange (ASCII), která se liší od alfanumerického znaku nula. Může to být také hodnota pro null, což znamená žádná hodnota, která je v některých jazycích stejná jako nula ASCII.
Účelem prázdného pole je částečně účinnost některých programů. Tím, že má pole, které je prázdné, se program může vyhnout provádění zbytečných nebo nesprávných výpočtů na poli. Může také zabránit programu v přístupu k matici, která nemá platnou adresu paměti, což způsobuje chybu přístupu k paměti, která by mohla program ukončit. Některé počítačové jazyky mají vestavěné funkce knihoven nebo tříd, které mohou snadno určit, zda je pole podle definice jazyka skutečně prázdné.