Funksiyaning aniqlanishi Funksiyaning aniqlanishi ikki qismdan - uning sarlavhasi va tanasidan iboratdir. Funksiyaning sarlavhasi uning prototuriga o‘xshash aniqlanadi, faqatgina bu holda parametrlar nomlangan bo‘lishi shart va sarlavha oxirida nuqtali vergul qo‘yilmaydi. Funksiya tanasi figurali qavsga olingan ifodalar to‘plamidan iborat. Funksiyaning sarlavhasi va tanasi 11.17-rasmda ko‘rsatilgan. Qaytaradigan turj norm parametrlari
i * ' ... < h int Yuza (int uzunlik,int kenglik) { - ochiluvchi figurali qavs.
// funksiya tanasi
return (uzunlik*kenglik);
} - yopiluvchi figurali qavs.
11 1 ■7-rasm. Funksiyaning sarlavhasi va tanasi Funksiyaning bajarilishi Funksiya chaqirilganda unda ko‘rsatilgan amallar ochiluvchi figurali qavslardan ({) keyingi birinchi ifodadan boshlab bajariladi. Funksiya tanasida if shartli operatoridan foydalanib tarmoqlanishni ham amalga oshirish mumkin. Funksiya o‘z tanasida boshqa funksiyalarni va hatto o‘z-o‘zini ham chaqirishi mumkin. Lokal o‘zgaruvchilar Funksiyaga qiymatlar uzatish bilan birga uning tanasida o‘zgaruvchilami e’lon qilish ham mumkin. Bu lokal o‘zgaruvchilar orqali amalga oshiriladi. Qachonki dasturning bajarilishi funksiyadan asosiy qismga qaytsa, bu funksiyadagi lokal o’zgaruvchilar xotiradan o’chiriladi. Lokal o‘zgaruvchilar xuddi boshqa o’zgaruvchilar kabi aniqlanadi. Funksiyaga beriladigan parametrlarni ham lokal o‘zgaruvchilar deb atash mumkin va ulami funksiya tanasida aniqlangan o’zgaruvchilar kabi
§ 11.5. C++ dasturlash tilida funksiyalar
I 345
ishlatish mumkin. I 1.18.-rasmda funksiya parametrlari va funksiya ichida aniqlangan lokal o'ygaruvchilarni qo'llashga oid misol keltirilgan. : #include
: using namespace std;
3: float Almashtirish (float) ; 4: int main () 5: { 6: float TempFer; 7: float TempCel; 8: cout << «Farengeyt bo'yicha temperaturani kiriting:»; 9: ein >> TempFer; 10: TempCel = Almashtirish(TempFer); 11: cout << «Bu temperatura selsiy shkalasi bo'yicha: «; 12: cout « TempCel « endl; 13: return 0 ; 14: } 15: float Almashtirish (float TempFer) 16: { 17: float TempCel; 18: TempCel=((TempFer-32)*5)/9; 19: return TempCel; ■ - : I . NAT1JA: Farengeyt bo'yicha temperaturani kiriting:50 Bu temperatura selsiy shkalasi bo'yicha: 10 rasm Funksiya lokal o'zgaruvchilari va parametrlanning qo'llanilishi.