12.07.2015 Views

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

на функцията. Ако функцията определя процедура, обръщението към неясе оформя като оператор (завършва с ;). Опитът за използването й катоизраз предизвиква грешка. Ако функцията връща резултат както чрезreturn, така и чрез някой от формалните си параметри, обръщението къмнея може да се разглежда и като оператор, и като израз. И акофункцията връща резултат единствено чрез оператора return,обръщението към нея има единствено смисъла на израз. Използването мукато оператор не води до грешка, но не предизвиква видим резултат.Обръщението към функция предизвиква генериране на нова стековарамка и се осъществява на следните два етапа:1. Свързване на формалните с фактическите параметриЗа целта първият формален параметър се свързва с първияфактически, вторият формален параметър се свързва с втория фактическии т.н. последният формален параметър се свързва с последнияфактически параметър. Свързването се реализира по различни начини взависимост от вида на формалния параметър.а) формален параметър – стойностВ този случай се намира стойността на съответния му фактическипараметър. В стековата рамка на функцията за формалния параметър сеотделя толкова памет, колкото типът му изисква и в нея се откопирвастойността на фактическия параметър.б) формален параметър – указателВ този случай в стековата рамка на функцията за формалнияпараметър се отделят 4B, в които се записва стойността на фактическияпараметър, която е адрес на променлива. Действията, описани в тялотосе изпълняват със съдържанието на формалния параметър - указател. Потакъв начин е възможна промяна на стойността на променливата, чийтоадреа е предаден като фактически параметър.в) формален параметър – псевдонимФормалният параметър-псевдоним се свързва с адреса на фактическия.За него в стековата рамка на функцията памет не се отделя. Той просто“прелита” и се “закачва” за фактическия си параметър. Действията снего се извършват над фактическия параметър.22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!