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



Pdf көрінісі
бет123/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   119   120   121   122   123   124   125   126   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

#include  

void f(int a){ 

int m = 0; 

cout << "n m p\n"; 

while (a--){

static int n = 0;

int p = 0;

cout << n++ <<''<< m++<<''<< p++ <<'\n';



}

int main(){ f(3); f(2); return 0;

}

Жоғарыдағы мысалда 



n

 статикалық айнымалысы мəліметтер сегментінде 

орналасады жəне құрамында оның анықтамасы бар оператордың алғашқы 

орындалуы кезінде бір-ақ рет инициалданады. Келесі 



m

 автоматты айныма-

лысы функцияға кірген кез сайын, ал 

р

 автоматты айнымалысы цикл блогына 

кірген сайын инициалданады. Программа экранға келесі нəтижені шығарады:

n m p

0 0 0

1 1 0

2 2 0

n m p

3 0 0 

4 1 0

Функциялар бірігіп жұмыс істеген кезде өзара ақпарат алмасуы тиіс. Ол 

үшін ауқымды (глобалды) айнымалыларды, параметрлерді жəне функцияның 

қайтаратын мəнін қолдануға болады.



78

Ауқымды айнымалылар

Ауқымды (глобалды)  айнымалылар өздерімен аттас жергілікті айны-

малылар сипатталмаған барлық функцияларда көрінеді, сондықтан оларды 

функциялар арасында мəліметтер алмасу үшін қолданған өте жеңіл. Деген-

мен, бұл тəсілді пайдаланбаған жөн, себебі мұндайда программаны түзету 

қиындайды жəне функцияларды ортақ пайдаланылатын кітапханалар ішіне 

орналастыруға кедергі келтіреді. Функциялар барынша тəуелсіз болып, 

олардың интерфейсі толығымен функция прототипі арқылы анықталуына 

ұмтылу керек. 



Достарыңызбен бөлісу:
1   ...   119   120   121   122   123   124   125   126   ...   642




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

    Басты бет