C Funksiya parametrlari

Parametrlar va argumentlar

Ma'lumot funksiyalarga parametr sifatida uzatilishi mumkin. Parametrlar funksiya ichidagi o'zgaruvchilar vazifasini bajaradi. Parametrlar funksiya nomidan keyin qavslar ichida ko'rsatiladi. Siz xohlagancha ko'p parametr qo'shishingiz mumkin, ularni vergul bilan ajratib qo'ying:

Sintaksis

returnType functionName(parameter1parameter2parameter3)
{
      // Funksiya tanasi ya'ni kod yoziladigan qism
}

Parametr sifatida Name belgilar qatorini oladigan quyidagi funksiya. Funktsiya chaqirilganda, biz "Salom" va har bir shaxsning ismini chop etish uchun funktsiya ichida ishlatiladigan nomni uzatamiz.

Misol:

void myFunction(char name[]) 
{
       printf("Salom %s\n", name);
}
int main() {
        myFunction("Abror");
        myFunction("Tohir");
        myFunction("Sardor");
        return 0;
}
// Salom Abror
//salom Tohir
// Salom Sardor

Funksiyaga parametr uzatilsa, u argument deb ataladi. Shunday qilib, yuqoridagi misoldan : parametr name, while va argumentlardir.

Bir nechta parametrlar

Funktsiya ichida siz xohlagancha ko'p parametrlarni qo'shishingiz mumkin:

Misol:

void myFunction(char name[], int age) 
{
      printf("Salom %s. U %d yoshda.\n", name, age);
}
int main() 
{
      myFunction("Abror", 3);
      myFunction("Tohir", 14);
      myFunction("Sardor", 30);
      return 0;
}
// Salom Abror. U 3 yoshda.
//salom Tohir.U 14 yoshda.
// Salom Sardor.U 30 yoshda.

Esda tutingki, siz bir nechta parametrlar bilan ishlayotganingizda, funktsiya chaqiruvida parametrlar mavjud bo'lgan argumentlar soni bir xil bo'lishi kerak va argumentlar bir xil tartibda uzatilishi kerak.

Massivlarni funksiya parametrlari sifatida o‘tkazing

Bundan tashqari, massivlarni funktsiyaga o'tkazishingiz mumkin:

Misol:

void myFunction(int myNumbers[5]) 
{
       for (int i = 0; i < 5; i++) 
      {
             printf("%d\n", myNumbers[i]);
        }
}

int main() 
{
      int myNumbers[5] = {1020304050};
      myFunction(myNumbers);
      return 0;
}

Funktsiya (MyFunction) massivni o'z parametri (int myNumbers[5]) sifatida qabul qiladi va massiv elementlarini sikl bilan for aylantiradi. Funktsiya ichkarida chaqirilganda main(), biz myNumbers massiv elementlarini chiqaradigan massiv bo'ylab o'tamiz.

E'tibor bering , funktsiyani chaqirganingizda, uni argument sifatida uzatishda faqat massiv nomidan foydalanishingiz kerak myFunction(myNumbers), int myNumbers[5]. Biroq, ( ) funktsiya parametrida massivning to'liq e'lon qilinishi kerak .

Qaytish qiymatlari

Oldingi void misollarda qo'llanilgan kalit so'z funksiya qiymat qaytarmasligi kerakligini bildiradi. Agar funktsiya qiymatni qaytarishini istasangiz, o'rniga ma'lumotlar turini (masalan, int  yoki float va hokazo) void ishlatishingiz va return funksiya ichidagi kalit so'zdan foydalanishingiz mumkin:

Misol:

int myFunction(int x) 
{
      return 5 + x;
}

int main() 
{
      printf("Natija: %d", myFunction(3));
      return 0;
}
// Natija: 8 (5 + 3)

Ushbu misol ikkita parametrli funktsiya yig'indisini qaytaradi:

Misol:

int myFunction(int x, int y) 
{
    return x + y;
}
int main()
{
      printf("Natija: %d", myFunction(53));
      return 0;
}
// Natija: 8 (5 + 3)

Natijani o'zgaruvchida ham saqlashingiz mumkin:

Misol:

int myFunction(int x, int y) 
{
    return x + y;
}

int main() 
{
      int result = myFunction(53);
      printf(" Natija: %d", result);
      return 0;
}
// Natija: 8 (5 + 3)

Funktsiya deklaratsiyasi

Oldingi boblardan siz funktsiyani quyidagi tarzda yaratishingiz va chaqirishingiz mumkinligini bilib oldingiz:

Misol:

// Funksiya yaratish
void myFunction() 
{
      printf("Xush kelibsiz Uzbekdevs saytiga!");
}

int main()
{
      myFunction(); 
      return 0;
}

Funktsiya ikki qismdan iborat:

  • Deklaratsiya: funktsiya nomi, qaytish turi va parametrlari (agar mavjud bo'lsa).
  • Ta'rif: funktsiyaning tanasi (bajarilishi kerak bo'lgan kod).
void myFunction() // Deklaratsiya
{ 
      // Funksiya tanasi (Deklaratsiya)
}

Kodni optimallashtirish uchun deklaratsiyani va funksiya ta'rifini ajratish tavsiya etiladi. Siz tez-tez yuqorida funksiya deklaratsiyasiga main() va quyida funksiya ta'rifiga ega bo'lgan C dasturlarini ko'rasiz main(). Bu kodni yaxshiroq tartibga solish va o'qishni osonlashtiradi:

Misol:

// Funktsiya deklaratsiyasi
void myFunction();
// Asosiy metod tanasi
int main()
{
      myFunction();  // funksiyani chaqiring
      return 0;
}
// Funksiya ta'rifi
void myFunction() 
{
      printf("Xush kelibsiz Uzbekdevs saytiga!");
} 

Yana bir misol

Agar funktsiya parametrlari va qaytariladigan qiymatlar bo'yicha oldingi bobdagi misoldan foydalansak:

Misol:

int myFunction(int x, int y) 
{
    return x + y;
}

int main() 
{
    int result = myFunction(53);
    printf("Result is = %d", result);
    return 0;
}
// Natija: 8 (5 + 3)

Buning o'rniga uni shunday yozish yaxshi amaliyot hisoblanadi:

Misol:

// Funktsiya deklaratsiyasi
int myFunction(intint);
// Asosiy main metodi
int main() 
{
    int result = myFunction(53); // funksiyani chaqiring
    printf("Result is = %d", result);
    return 0;
}

// Funktsiya ta'rifi
int myFunction(int x, int y) 
{
    return x + y;
}