Mustaqil ish Mavzu: С/С++ дастурлаш тилида кўрсаткичлар билан боғлиқ муаммолар. Dasturiy vositalar xavfsizligi


#include void f(int,int*,int &) void


Download 348.42 Kb.
bet8/9
Sana21.04.2023
Hajmi348.42 Kb.
#1374143
TuriПрограмма
1   2   3   4   5   6   7   8   9
Bog'liq
mustaqil-ish

#include void f(int,int*,int &) void main()
{
int i=1,j=2,k=3; cout<
cout<
}
void f(int i;int *j;int &k)
{
i++; (*j)++; k++;
*j=i+k; k=*j+i;
}
Программа ишлаши натижасида экранга қуйидаги қийматлар чоп қилинади:
1 2 3
1 6 8
Бу мисолда биринчи параметр i қиймат билан узатилади (“int i"). Унинг қиймати функция ичида ўзгаради, лекин ташқаридаги i ўзга- рувчисининг қиймати ўзгармайди. Иккинчи параметрни кўрсаткич орқали адреси билан узатилиши талаб қилинади (“int *j”), адресни узатиш учун ‘&’- адресни олиш амали ишлатилган (“&j”). Функция танасида аргумент адресидан қиймат олиш учун ‘*’- қиймат олиш амали қўлланилган. Учинчи параметрда мурожаат орқали (“&k”) аргументнинг адреси узатиш кўзда тутилган. Бу ҳолда функция чақирилишида мос аргумент ўрнида ўзгарувчи номи туради, функция ичида эса қиймат олиш амалини ишлатишнинг ҳожати йўқ. Функция ишлаш натижасидаги қийматларни аргументлар рўйхати орқали олиш қулай ва тушунарли усул ҳисобланади.
Агар функция ичида адрес билан узатиладиган параметр қиймати ўзгармасдан қолиши зарур бўлса, бу параметр const модификатор билан ёзилиши керак:
fun(int n,const char*str);
Агарда функцияни чақиришда аргументлар фақат номлари би- лан берилган бўлса, келишув бўйича массивлар ва функциялар адреси билан, қолган турдаги параметрлар қийматлари билан узатилган деб ҳисобланади.
Мисол тариқасида дискриминантни ҳисоблаш усули ёрдамида ax2+bx+c=0 кўринишидаги квадрат тенглама илдизларини функция параметрлари воситасида олиш масаласини кўрайлик.
#include #include
int Kvadrat_Ildiz(float a,float b,float c,
float & x1, float & x2)
{
float D;
D=b*b-4*a*c;
if(D<0) return 0; if(D==0)

Download 348.42 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling