Kaj je prazen niz?

Natančna definicija, kaj je prazen niz v računalniškem programiranju, ni vedno jasna. Ena pogosta razlaga je, da je niz prazen, če ima nič elementov, čeprav vsi računalniški jeziki ne dovoljujejo, da se matrika razglasi na ta način. Druga razlaga praznega niza je matrika, v kateri so vsi podatkovni elementi nični, nič ali nedefinirani, odvisno od uporabljenega programskega jezika. Nekateri jeziki razlikujejo med matriko, ki je prazna, in matriko, ki še ni bila dodeljena in je enaka nič, čeprav drugi jeziki morda menijo, da je nedodeljena matrika prazen niz.

Obstajajo posebni primeri, v katerih je mogoče matriko deklarirati znotraj programa brez elementov, kar pomeni, da ne more vsebovati nobenih podatkov in se šteje za prazno matriko. To so pogosto dinamični nizi, ki lahko povečajo število elementov, saj je niz brez elementov v bistvu neuporaben. V objektno usmerjenih programskih jezikih je mogoče prazno matriko deklarirati znotraj objekta ovoja razreda matrike, ki interno vzdržuje strukturo podatkov matrike. V nekaterih skriptnih in metajezikih se prazen niz posreduje kot parameter funkcijam, ki jih je treba izpolniti, ali dodeliti vrednosti iz drugega vira podatkov.

Drugi pomen praznega niza je matrika, ki je bila inicializirana, tako da ne vsebuje podatkov, ali je napolnjena z vrednostmi, ki kažejo, da ni podatkov. To je zato, ker v jezikih, kot je C, ko je pomnilniški prostor za matriko dodeljen, še vedno vsebuje vse preostale podatke iz prejšnjih programov ali datotek, ki so morda zasedle prostor. Če želite izprazniti matriko, kot je ta, je treba vsak element preleteti skozi zanko in nato nastaviti na nevtralno vrednost. Ta vrednost je lahko dejanska vrednost ničelne ameriške standardne kode za izmenjavo informacij (ASCII), ki se razlikuje od ničelnega alfanumeričnega znaka. Lahko je tudi vrednost za null, kar pomeni brez vrednosti, kar je v nekaterih jezikih enako nič ASCII.

Namen praznega niza je delno za učinkovitost v nekaterih programih. Če ima matriko prazen, se lahko program izogne ​​izvajanju nesmiselnih ali napačnih izračunov na matriki. Programu lahko tudi prepreči dostop do matrike, ki nima veljavnega pomnilniškega naslova, kar povzroči napako pri dostopu do pomnilnika, ki bi lahko končala program. Nekateri računalniški jeziki imajo vgrajene funkcije knjižnice ali razreda, ki lahko zlahka ugotovijo, ali je niz dejansko prazen v skladu z definicijo jezika.