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



Pdf көрінісі
бет71/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   67   68   69   70   71   72   73   74   ...   465
#include
int sum(int a, int b); // функцияны жариялау
int main(){
int a = 2, b = 3, c, d;
с = sum(a, b); 
// функцияны шақыру
cin >> d;
cout << sum(c, d); 
// функцияны шақыру
return 0;
}
int sum(int a, int b){ 
// функцияны анықта
у
return (a + b); 

Экранға функцияға берілген құрылым өрістерін шығару мысалы:
#include  
struct Worker{
char fi o[30];
int date, code;
double salary;
};
void print_worker(Worker); // функцияны жариялау
int main(){
Worker stuff[100];
... /*stuff жиымын қалыптастыру */
for (int i = 0; i<100; i++) 
print_worker(stuff[i]); // функцияның шақыру
return 0;
}
void print_worker(Worker w){ // функцияны анықта
у
cout << w.fi o << ' ' << w.date << ' ' << w.code 
<< ' ' << w.salary << endl;
}


77
Функцияның ішінде сипатталған барлық шамалар жəне оның 
параметрлері жергілікті (локалды) болып табылады. Олардың əрекет ету 
аймағы – функция іші (тұлғасы). Функцияны шақыру кезінде, кез келген 
блокка енген кездегі сияқты, стекте жергілікті автоматты айнымалылар үшін 
жады бөлінеді. Сонымен қатар, стекте функцияны шақырудың алдыңғы 
сəтіндегі процессор регистрлерінің мəндері жəне функциядан кері қайту 
адресі сақталады, ол осы функциядан шыққаннан кейін оны шақырған 
программаның (басқа функцияның) орындалуын ары қарай жалғастыру 
үшін қажет болып табылады.
Функциядан шыққан кезде ол орналасқан стек аймағы босатылады, 
сондықтан бір функцияның бірнеше шақырылулары арасындағы жергілікті 
(локалды) айнымалылардың мəндері сақталмайды. Егер мұндай жағдайдан 
құтылу қажет болса, жергілікті айнымалыларды жариялау кезінде 


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




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

    Басты бет