Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


return  операторлары болуы мүмкін  (бұл алгоритм қажеттіліктерімен анықталады). Егер функция  void



Pdf көрінісі
бет73/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   69   70   71   72   73   74   75   76   ...   465
Байланысты:
аибм сплюс

return 
операторлары болуы мүмкін 
(бұл алгоритм қажеттіліктерімен анықталады). Егер функция 
void
ретінде 
сипатталса, өрнек көрсетілмейді
. Егер функциядан қайту жүйелі жақшаны 
жабу алдында орындалса, 
void 
типті функция үшін 
return
операторын жазу 
міндетті емес. 
main 
функциясы үшін де 
return
операторын жазбауға бола-
ды. Бұл кітапта орынды үнемдеу мақсатында
 main
функциясында 
return
операторы көрсетілмеген, сондықтан мысалдарды компиляциялау кезінде 
экранға ескерту шығарылады. 
return
операторынан кейін көрсетілген өрнек 
функцияның қайтаратын мəні типіне түрлендіріліп, функцияның шақырылу 
нүктесіне беріледі. 
Мысалдар:
int fl (){ return 1;} // дұрыс
void f2(){ return 1;} /* дұрыс емес, f2 мəн

 
 
 
 
қайтармауы тиіс */
double f3(){ return 1;} /* дұрыс, 1 double типіне 
түрлендіріледі */
НАЗАР АУДАРЫҢЫЗ 
Функциядан жергілікті айнымалыға нұсқауышты қайтаруға болмайды, себебі 
функцияға ішінде жергілікті айнымалыларға бөлінген жады функция жұмысынан соң бо-
сатылады.
Мысалы: 
int* f(){
int a = 5; 
return &a ; // бұлай жазуға болмайды!



79
Функцияның параметрлері
Параметрлер механизі шақыратын жəне шақырылатын функциялар 
арасындағы ақпарат алмасудың негізгі жолы болып табылады. Функция 
сипаттамасының тақырыбында көрсетілген параметрлер формалды параметр-
лер немесе жай ғана параметрлер деп аталады, ал функцияны шақыру опе-
раторында жазылған параметрлер нақты параметрлер немесе аргументтер деп 
аталады.
Функцияны шақыру кезінде алдымен аргументтердің орнында тұрған 
өрнектер есептеледі; содан кейін стекте функцияның формалды параметрлері 
үшін солардың типіне сəйкес жады бөлінеді де, олардың əрқайсысына өздеріне 
сəйкес аргументтің мəні меншіктеледі. Мұнда типтердің бір-біріне сəйкестігі 
тексеріледі, егер қажеттілік туса, оларды түрлендіру орындалады. Типтердің 
сəйкессіздігі байқалса, диагностикалық хабарлама беріледі.
Функцияға параметрлер берудің екі тəсілі бар, олар: мəні арқылы жəне 
адресі арқылы.
Параметрлерлерді мəн арқылы беру кезінде стекке аргументтер 
мəндерінің көшірмелері енгізіледі де, функциялардың операторлары осы 
көшірмелермен жұмыс істейді. Функция оған берілген параметрлердің 
бастапқы мəндеріне қол жеткізе алмайды, сондықтан оларды өзгерту 
мүмкіндігі де жоқ.
Параметрлерлерді адрес арқылы беру кезінде стекке аргументтер 
адрестерінің көшірмелері енгізіледі, ал функция осы адрестер бойынша жады 
ұяшықтарындағы аргументтерді пайдаланады да, олардың бастапқы мəндерін 
өзгерте алады:


Достарыңызбен бөлісу:
1   ...   69   70   71   72   73   74   75   76   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет