ПредишенСледващото

Pascal компилатор генерира код сегмент, който съхранява програмата под формата на машинни инструкции, сегмент данни, в която памет се разпределя под глобална програма променливи и стека сегмент, предназначени за настаняване на локалните променливи по време на изпълнение.

Наречен глобални променливи. домейн, която е цялата програма или блок. Те са описани в основната програма. Променливите, които не са инициализирани изрично са нулеви, преди започване на програмата. Животът на глобалните променливи от началото на програмата до неговото завършване.

Вътрешни съчетания описани локални променливи. Те са подредени в сегмента на стека, и разпределението на паметта се получава, когато в съответствие с подпрограма разговор, и го освобождава - при завършване на подпрограмата. По този начин, на живота на местните променливи - от началото на работните практики и да му завършване. Местните променливи между две повиквания и съща подпрограма не се съхраняват, както и тези променливи не са предварително нулиране, т.е. в съответните клетки на паметта са произволни стойности.

Глобалните променливи са достъпни навсякъде в програмата или подпрограмата, с изключение на тези процедури, които описват локални променливи със същите имена. Местните променливи - променливи с ограничена площ, определена в програма. Те могат да се използват само в подпрограмата, в който те са описани и във всички затворени в него.

Ето защо, не се изисква допълнително усилие за прехвърляне на глобални променливи в подпрограмата, тъй като те са видели в него по естествен начин. Този метод на обмен на информация между основната програма и подпрограмата - най-лесният и той също има най-лошото, както често се случва и в други ситуации.

В допълнение, използването на глобални променливи стеснява възможността за използване на подпрограми: ако използва името на глобална променлива, подпрограмата може да работи само с него, а не с някоя променлива от същия тип, както се случва при прехвърляне на данни чрез параметри. Представете си колко неудобно би било да се използват стандартни процедури и функции, ако е необходимо да им се обадя на вятъра и се инициализира променлива с даденото име!

Ако не използвате глобални променливи в подпрограмата, става независим: тя може да се използва отново, да бъде поставен в друга програма или в отделен модул.

Съберат на едно място променливи, тоест, да пишат съчетания, така че всички данни или да ги прехвърлите от външната страна през опциите, или са описани в рамките на подпрограмата, че е много важно. Както ще видим по-късно, това е основният принцип на капсулиране - един от крайъгълните камъни на обектно-ориентираното програмиране.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!