Kas yra tuščias masyvas?

Tikslus apibrėžimas, kas yra tuščias masyvas kompiuterių programavime, ne visada aiškus. Dažnas aiškinimas yra toks, kad masyvas yra tuščias, jei jame nėra elementų, nors ne visos kompiuterių kalbos leidžia masyvą deklaruoti tokiu būdu. Kitas tuščio masyvo aiškinimas yra masyvas, kuriame visi duomenų elementai yra nuliniai, nuliai arba neapibrėžti, atsižvelgiant į naudojamą programavimo kalbą. Tam tikros kalbos skiria tuščią masyvą nuo masyvo, kuris dar nepaskirstytas ir yra lygus nuliui, nors kitos kalbos gali laikyti, kad nepaskirstytas masyvas yra tuščias masyvas.

Yra tam tikrų atvejų, kai masyvas gali būti deklaruojamas programoje be elementų, tai reiškia, kad jame negali būti jokių duomenų ir jis laikomas tuščiu masyvu. Tai dažnai dinamiški masyvai, galintys padidinti elementų skaičių, nes masyvas be elementų iš esmės yra netinkamas naudoti. Objektinio programavimo kalbose tuščias masyvas gali būti deklaruojamas masyvo klasės įvyniojimo objekte, kuris išlaiko masyvo duomenų struktūrą viduje. Kai kuriose scenarijuose ir metakalbose tuščias masyvas perduodamas kaip parametras funkcijoms, kurias reikia užpildyti, arba priskirtoms reikšmėms iš kito duomenų šaltinio.

Kita tuščio masyvo reikšmė yra masyvas, kuris buvo inicijuotas, todėl jame nėra duomenų arba jis užpildytas reikšmėmis, kurios rodo, kad duomenų nėra. Taip yra todėl, kad tokiomis kalbomis kaip C, kai masyvei skirta atminties vieta, jame vis tiek yra likutinių duomenų iš ankstesnių programų arba failų, kurie galėjo užimti vietą. Norint ištuštinti tokį masyvą, kiekvienas elementas turi būti perkeltas ir tada nustatytas į neutralią reikšmę. Ši reikšmė gali būti tikroji Amerikos standartinio informacijos mainų kodo (ASCII) vertė nulis, kuri skiriasi nuo raidinio ir skaitmeninio simbolio nulio. Tai taip pat gali būti nulinė reikšmė, ty jokios reikšmės, kuri yra tokia pati kaip ASCII nulis kai kuriomis kalbomis.

Tuščio masyvo tikslas iš dalies yra kai kurių programų efektyvumas. Turėdama tuščią masyvą, programa gali išvengti beprasmių ar neteisingų masyvo skaičiavimų. Tai taip pat gali neleisti programai pasiekti masyvo, kuris neturi tinkamo atminties adreso, todėl gali atsirasti prieigos prie atminties klaida, dėl kurios programa gali būti nutraukta. Kai kuriose kompiuterių kalbose yra integruotos bibliotekos arba klasės funkcijos, kurios pagal kalbos apibrėžimą gali lengvai nustatyti, ar masyvas iš tikrųjų tuščias.