როგორ ინახება ცვლადები?
როგორ ინახება ცვლადები?

ვიდეო: როგორ ინახება ცვლადები?

ვიდეო: როგორ ინახება ცვლადები?
ვიდეო: პროგრამული ინჟინერიის საფუძვლები - როგორ ინახება ცვლადები მეხსიერებაში (C#) 2024, ნოემბერი
Anonim

ცვლადები არიან ჩვეულებრივ შენახული RAM-ში. თავად ჩვეულებრივ მიჰყვება ზემოთ მოცემულ წესებს (ფუნქციის ფარგლებში გამოცხადებული მაჩვენებელი არის შენახული სტეკზე), მაგრამ ის მონაცემები, რომელზეც ის მიუთითებს (თავად მეხსიერების ბლოკი ან თქვენ მიერ შექმნილი ობიექტი ახლით) არის შენახული გროვაზე.

ანალოგიურად შეიძლება იკითხოთ, სად ინახება ცვლადები?

ყველა გლობალური და სტატიკური ცვლადი ინახება მონაცემთა სეგმენტში, ხოლო მუდმივები ინახება კოდის სეგმენტში. გლობალური ცვლადები შეიძლება იყოს რამდენიმე ადგილას, იმისდა მიხედვით, თუ როგორ არის დაყენებული - რისთვის მაგალითი , const globals შეიძლება იყოს შესრულებადი ნაწილის მხოლოდ წასაკითხად.

ანალოგიურად, როგორ ინახება ცვლადები Java-ში? ყველა ობიექტი შიგნით ჯავა არიან შენახული გროვაზე. ცვლადები მათზე მითითებები შეიძლება იყოს დასტაზე ან შეიძლება შეიცავდეს სხვა ობიექტებში (მაშინ ისინი ნამდვილად არ არიან ცვლადები , მაგრამ მინდვრები), რაც მათ გროვაზეც აყენებს. Heap განყოფილება შეიცავს ობიექტებს (შეიძლება ასევე შეიცავდეს მითითებას ცვლადები ).

ასევე კითხვაა, როგორ ინახება ცვლადები მეხსიერებაში?

The მეხსიერება სლოტი ა ცვლადი ინახება ან დასტაზე ან გროვაზე. ეს დამოკიდებულია კონტექსტზე, რომელშიც ის არის გამოცხადებული: თითოეული ადგილობრივი ცვლადი (ანუ ერთი გამოცხადებული მეთოდით) არის შენახული დასტაზე. ყოველი სტატიკური ცვლადი ინახება გროვაზე, იმისდა მიუხედავად, ის დეკლარირებულია საცნობარო ტიპში თუ მნიშვნელობის ტიპში.

როგორ ინახება ლოკალური ცვლადები სტეკზე?

ლოკალური ცვლადების შენახვა ზე დასტის არის განხორციელების დეტალი - ძირითადად ოპტიმიზაცია. შეგიძლიათ ასე იფიქროთ. ფუნქციის შეყვანისას, სივრცე ყველასთვის ლოკალური ცვლადები სადღაც არის გამოყოფილი. ეს არის განსხვავებით ცვლადები გამოყოფილი გროვაზე, რომლის მისამართები თავად არიან შენახული სხვაში ცვლადები.

გირჩევთ: