Paano kinakatawan ang mga array sa memorya?
Paano kinakatawan ang mga array sa memorya?

Video: Paano kinakatawan ang mga array sa memorya?

Video: Paano kinakatawan ang mga array sa memorya?
Video: C++ TUTORIAL: ARRAY - SINGLE DIMENSION (TAGALOG) 2024, Nobyembre
Anonim

Mga array ay madalas kinakatawan na may mga diagram na kumatawan kanilang alaala gamitin. Hawak ng mga pointer ang alaala address ng iba pang data at ay kinakatawan sa pamamagitan ng isang itim na disk na may arrow na tumuturo sa data na tinutukoy nito. Ang totoo array variable, a sa halimbawang ito, ay isang pointer sa alaala para sa lahat ng elemento nito.

Gayundin, ang mga tao ay nagtatanong, 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.

Kasunod nito, ang tanong ay, gaano karaming mga uri ng array ang maaaring kinakatawan sa memorya? Kaya ang limang elemento ay itatabi sa limang katabing lokasyon sa alaala . ikaw pwede obserbahan ito sa pamamagitan ng pagtukoy sa alaala address ng bawat elemento. Hindi tulad ng ibang primitive data mga uri sa C, an array identifier(dito, arr) mismo kumakatawan pointer nito.

Katulad nito, ito ay tinatanong, ano ang array sa memorya?

An array ay isang koleksyon ng mga homogenous (parehong uri) data item na nakaimbak sa magkadikit alaala mga lokasyon. Halimbawa kung ang isang array ay uri ng "int", maaari lamang itong mag-imbak ng mga elemento ng integer at hindi maaaring payagan ang mga elemento ng iba pang mga uri tulad ng double, float, char atbp.

Paano kinakatawan ng dalawang dimensional na array ang memorya?

  1. Ang representasyon ng dalawang dimensional na array sa memorya ay row-major at column-major.
  2. Ang 2D array ay may uri gaya ng int o String, na may dalawang pares ng square bracket.
  3. Ang isang two-dimensional na matrix a, dalawang dimensional na espasyo ng address ay dapat na imapa sa isang-dimensional na espasyo ng address.

Inirerekumendang: