title: Информатика - bet 155
text: 250
  Yuqoridagi
  foo
  funksiyamizning ismi, () qavslar ichidagi parametrlar – int
  tipidagi k va t lar kirish argumentlaridir, ular faqat ushbu funksiya ichida ko`rinadi
  va qo`llaniladi. Bunday o`zgaruvchilar
  loka
  l(local-mahalliy) deyiladi.
  result foo()
  ning ichida e`lon qilinganligi uchun u ham lokaldir. Demak, biz funksiya ichida
  o`zgaruvchilarni va sinflarni (class) e`lon qilishimiz mumkin ekan. Lekin funksiya
  ichida boshqa funksiyani e`lon qilib bo`lmaydi. foo() funksiyamiz qiymat ham
  qaytaradi. Qaytish qiymatining tipi foo() ning e`lonida eng boshida kelgan - int
  tipiga ega. Biz funksiyadan qaytarmoqchi bo`lgan qiymatning tipi ham funksiya
  e`lon qilgan qaytish qiymati tipiga mos kelishi kerak - ayni o`sha tipda bo`lishi
  yoki o`sha tipga keltirilishi mumkin bo`lgan tipga ega bo`lishi shart. Funksiyadan
  qiymatni return ifodasi bilan qaytaramiz. Agar funksiya hech narsa qaytarmasa
  e`londa void tipini yozamiz. Yani:
  void funk(){
  int g = 10;
  cout << g;
  return;}
  Bu funksiya void (bo`sh, hech narsasiz) tipidagi qiymatni qaytaradi.
  Boshqacha qilib aytganda, qaytargan qiymati bo`sh to`plamdir. Lekin funksiya
  hech narsa qaytarmaydi deya olmaymiz. Chunki hech narsa qaytarmaydigan
  maxsus funksiyalar ham bor. Ularning qaytish qiymati belgilanadigan joyga hech
  narsa yozilmaydi. Biz unday funksiyalarni keyinroq ko`rib chiqamiz. Bu yerda bir
  nuqta shuki, agar funksiya maxsus bo`lmasa, Lekin oldida qaytish qiymati tipi
  ko`rsatilmagan bo`lsa, qaytish qiymati int tipiga ega deb qabul qilinadi.
  Void
  qaytish tipli funksiyalardan chiqish uchun
  return;
  deb yozsak
  yetarlidir.Yoki returnni qoldirib ketsak ham bo`ladi. Funksiyaning qismlari
  bajaradigan vazifasiga ko`ra turlicha nomlanadi. Yuqorida ko`rib chiqqanimiz
  funksiya aniqlanishi (function definition) deyiladi, chunki biz bunda funksiyaning
  bajaradigan amallarini funksiya nomidan keyin,{} qavslar ichida aniqlab yozib
  chiqyapmiz. Funksiya aniqlanishida {} qavslardan oldin nuqta-vergul [;] qo`yish
  xatodir. Bundan tashqari funksiya e`loni, prototipi yoki deklaratsiyasi (