Funktsiyalar parametrlari va argumentlari Programmada ishlatiladigan har qanday funktsiya unda e’lon qilinishi kerak. Odatda funktsiyalar e’loni sarlavha fayllarda e’lon qilinadi va #include direktivasi yordamida programma matniga qo’shiladi. Funktsiya e’lonini uning prototipi tavsiflaydi (ayrim hollarda signatura deyiladi). Funktsiya prototipi quyidagi ko’rinishda bo’ladi:
(
);
Bu yerda – funktsiya ishlashi natijasida u tomonidan qaytaradigan qiymatning turi. Agar qaytariladigan qiymat turi ko’rsatilmagan bo’lsa, kelishuv bo’yicha funktsiya qaytaradigan qiymat turi int hisoblanadi,
– vergul bilan ajratilgan funktsiya parametrlarining turi va nomlari ro’yxati. Parametr nomini tushirib qoldirish mumkin. Ro’yxat bo’sh bo’lishi ham mumkin. Funktsiya prototiplariga misollar:
int almashsin(int, int);
double max(double x, double y);
void func();
Funktsiya prototipi tushirib qoldirilishi mumkin, agar matnda funktsiya e’loni uning boshqa funktsiyada chaqirilishidan oldin kelgan bo’lsa. Lekin bu holat yaxshi uslub hisoblanmaydi, ayniqsa o’zaro bir–biriga murojaat qiluvchi funktsiyalarni e’lon qilishda muammolar yuzaga kelishi mumkin.
Funktsiya e’loni uning sarlavhasi va figurali qavsga (‘{‘,’}’) olingan qanday amaliy mazmunga ega tanadan iborat bo’ladi. Agar funktsiya qaytaruvchi turi void turidan farqli bo’lsa, uning tanasida albatta mos turdagi parametrga ega return operatori bo’lishi shart. Agar funktsiyaning qiymati programmada ishlatilmaydigan bo’lsa, funktsiyadan chiqish uchun parametrsiz return operatori ishlatilishi mumkin yoki umuman return ishlatilmasligi mumkin. Oxirgi holda funktsiyadan qaytish oxirgi yopiluvchi qavsga yetib kelganda ro’y beradi.
Funktsiya ma’lum bir ishni amalga oshirish uchun u programmada chaqirilishi kerak. Funktsiyaga murojaat qilganda u qo’yilgan masalani yechadi va o’z ishini tugatishida qanday qiymatni natija sifatida qaytaradi.
Funktsiyani chaqirish uchun uning nomi va undan keyin qavs ichida argumentlar ro’yxati beriladi:
(1, 2,…, n);
Bu yerda har bir – funktsiya tanasiga uzatiladigan va keyinchalik hisoblash jarayonida ishlatiladigan o’zgaruvchi, ifoda yoki konstantadir. Argumentlar ro’yxati bo’sh bo’lishi mumkin.
Funktsiyalar ham o’z tanasida boshqa funktsiyalarni, o’zini ham chaqirishi mumkin. O’zini chaqiradigan funktsiyalarga rekursiv funktsiyalar deyiladi.
Oldingi bo’limlarda ta’kidlab o’tgandek, S++ tilidagi har qanday programmada albatta main() bosh funktsiyasi bo’lishi kerak. Ayni shu funktsiyadan programma bajarilishi boshlanadi.
Quyidagi rasmda bosh funktsiyadan boshqa funktsiyalarni chaqirish va ulardan bosh funktsiyaga qaytish sxemasi ko’rsatilgan.