Paano nakaimbak ang 2d arrays sa memorya?
Paano nakaimbak ang 2d arrays sa memorya?

Video: Paano nakaimbak ang 2d arrays sa memorya?

Video: Paano nakaimbak ang 2d arrays sa memorya?
Video: Section 4 2024, Nobyembre
Anonim

A 2D array ay nakaimbak sa kompyuter alaala isang hilera kasunod ng isa pa. Kung ang bawat halaga ng data ng array nangangailangan ng B bytes ng alaala , at kung ang array ay may mga C column, pagkatapos ay ang alaala ang lokasyon ng isang elemento tulad ng score[m][n] ay (m*c+n)*B mula sa address ng unang byte.

Kaugnay nito, paano kinakatawan ang isang 2d array sa memorya?

Kinatawan ng dalawang dimensional na hanay sa alaala ay row-major at column-major. Sa computer alaala ang mga matrice ay nakaimbak sa alinman sa Row-major order o Column-major order form. Ang row-major order at column-major order ay mga paraan para sa pag-iimbak multidimensional na mga array sa linear na imbakan tulad ng random na pag-access alaala.

Kasunod nito, ang tanong ay, paano nakaimbak ang multidimensional array sa memorya sa Java? Sa Java , isang array nag-iimbak ng alinman sa mga primitive na halaga (int, char,) o mga reference (a.k.a pointer) sa mga bagay. Kapag ang isang bagay ay nilikha sa pamamagitan ng paggamit ng "bago", a alaala space ay inilalaan sa heap at isang reference ay ibinalik.

Ang dapat ding malaman ay, paano nakaimbak ang mga arrays sa memorya?

An array iniimbak ang mga elemento nito sa magkadikit alaala mga lokasyon. Kung nilikha Mo ang array lokal na ito ay nasa stack. Kung nasaan ang mga elemento nakaimbak depende sa detalye ng imbakan. Isang dynamic na nilikha array ay malilikha sa heap.

Ano ang isang 2d array?

2 Dimensional Mga array . Parang 1D array , a 2D array ay isang koleksyon ng mga cell ng data, lahat ng parehong uri, na maaaring bigyan ng isang pangalan. Gayunpaman, a 2D array ay organisado bilang a matris na may bilang ng mga row at column.

Inirerekumendang: