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



Pdf көрінісі
бет74/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   70   71   72   73   74   75   76   77   ...   465
#include
void f(int i, int* j, int& k);
int main(){ 
int i = 1, j = 2, k = 3;
cout << "i j k\n";
cout << i << ' ' << j << ' ' << k << '\n';
f(i, &j, k);
cout << i << ' ' << j << ' ' << k;
return 0; 

void f(int i, int* j, int& k){
i++; (*j)++; k++;
}
Программа жұмысының нəтижесі:
i j к
1 2 3
1 3 4


80
Бірінші параметр (
i
) мəні арқылы беріледі. Оның функциядағы өзгерісі 
бастапқы мəніне əсер етпейді. Екінші параметр (
j
) нұсқауыштың көмегімен 
адресі арқылы беріледі, функцияға нақты параметрдің адресін беру үшін 
адресті алу операциясы қолданылады, ал оның мəнін алу үшін функцияда 
оның атын ауыстыру операциясы қажет болады. Үшінші параметр (
к
) адресі 
арқылы сілтеме көмегімен беріледі.
Сілтеме арқылы параметр беруде функцияға шақыру кезінде көрсетілген 
параметр адресі беріледі, ал функцияның ішінде параметрлерді пайда-
лану кезінде олардың барлығы да атаусыздандырылады. Сондықтан, 
нұсқауыштардың орнына сілтемелерді қолдану программаның оқылуын 
жақсартады, өйткені ол адрес алу жəне атаусыздандыру операцияларын 
қолдану қажеттілігінен босатады. Мəні арқылы параметр берудің орнына 
сілтемелерді қолданудың тиімділігі жоғары, себебі параметрлерді көшіруді 
талап етпейді, мұның көлемді мəліметтер құрылымдарын функцияға беру 
кезінде маңызы зор болып табылады.
Егер функцияның ішінде параметрді өзгертуге тыйым салу керек болса,
const
модификаторы қолданылады:
int f(const char*);
char* t(char* a, const int* b);
КЕҢЕС
Функцияның ішінде өзгеруі қарастырылмаған барлық параметрлердің алдында


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




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

    Басты бет