Pengantar Fungsi C

Pengantar Fungsi C
Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Anda mungkin telah membahas sintaks dasar C, dengan contoh sederhana, dan sekarang bertanya-tanya bagaimana cara membuat program yang lebih besar dan nyata. Sebagai permulaan, Anda ingin mengatur kode Anda menjadi bagian-bagian yang efisien, dengan pengulangan yang minimal. Di C, seperti kebanyakan bahasa, jawaban atas masalah Anda adalah fungsinya.





Video MUO hari ini GULIR UNTUK MELANJUTKAN ISI

Membuat dan menggunakan fungsi di C sangatlah mudah dan membawa banyak manfaat. Fungsi memungkinkan Anda memecah program yang kompleks menjadi bagian-bagian yang lebih kecil. Mereka menyediakan kemampuan untuk digunakan kembali, baik dalam program asli Anda, dan di perpustakaan terkait atau program terpisah lainnya.





Untuk memulai, Anda perlu mempelajari deklarasi fungsi, prototipe, parameter, dan pernyataan return.





Apa Fungsi di C?

  Layar yang menampilkan kode dalam bahasa pemrograman

Dalam pemrograman C , suatu fungsi adalah bagian kode bernama yang melakukan sesuatu saat Anda memintanya. Ini membantu menjaga kode Anda tetap teratur dan memungkinkan Anda menggunakan tindakan yang sama beberapa kali tanpa mengulanginya sendiri.

Contoh paling sederhana adalah yang sudah Anda gunakan: fungsi main(). Fungsi utama khususnya istimewa karena bertindak sebagai titik masuk utama untuk program C apa pun. Anda juga bisa menggunakan fungsi perpustakaan, yaitu fungsi yang sudah ditulis orang lain, atau Anda bisa menulis fungsi buatan pengguna Anda sendiri.



Fungsi: Mendeklarasikan, Mendefinisikan, dan Memanggil

Ketiga aspek ini merupakan hal mendasar dalam penggunaan fungsi.

Deklarasi Fungsi

Ini memberikan informasi tentang nama fungsi, tipe kembalian, dan parameter, memungkinkan penggunaannya sebelum definisi penuh. Ini juga disebut prototipe fungsi. Ini mengikuti sintaks sederhana ini:





 return_type function_name(parameters);

Di mana:

  • tipe_kembali adalah tipe data dari nilai yang dikembalikan fungsi. Ini bisa berupa tipe data C yang valid atau ruang kosong jika fungsi tidak mengembalikan nilai.
  • nama_fungsi adalah nama yang Anda berikan untuk fungsi tersebut. Anda akan menggunakan ini untuk memanggil fungsi tersebut nanti.
  • parameter adalah daftar parameter masukan yang diterima fungsi, jika ada. Setiap parameter terdiri dari tipe data diikuti dengan nama parameter yang dipisahkan dengan koma.

Misalnya, inilah deklarasi fungsi sederhana:





 int add(int a, int b);

Definisi Fungsi

Saat Anda memanggil suatu fungsi, ia menjalankan kode yang ditentukan dalam definisinya. Ini mencakup nama fungsi, tipe kembalian, daftar parameter, dan pernyataan yang menentukan perilakunya. Berikut sintaksnya:

 return_type function_name(parameters) { 
    // Function body - code that defines what the function does
    // Return a value if applicable
    return value;
}

Mari kita uraikan bagian-bagian sintaksnya:

Tubuh fungsi : Ini adalah blok kode yang diapit kurung kurawal {} . Ini berisi instruksi yang mendefinisikan apa yang dilakukan fungsi ketika dipanggil.

Pernyataan pengembalian : Jika fungsi memiliki tipe kembalian selain ruang kosong , itu kembali pernyataan mengirimkan nilai kembali ke pemanggil. Nilai ini harus sesuai dengan tipe pengembalian yang ditentukan.

Berikut ini contoh sederhana definisi fungsi:

 int add(int a, int b) { 
    int sum = a + b;
    return sum;
}

Panggilan Fungsi

Sama seperti memasak, Anda mungkin memiliki resep (definisi fungsi) dan beberapa bahan (argumen), namun Anda tetap harus mengikuti petunjuknya untuk mendapatkan hasilnya. Pemanggilan fungsi akan menjalankan fungsi dengan argumen tertentu; inilah sintaksnya:

 return_type result = function_name(arguments);

argumen : Ini adalah nilai atau ekspresi yang Anda teruskan ke fungsi sebagai input. Pisahkan setiap argumen dengan koma. Jumlah, urutan, dan tipe data argumen harus sesuai dengan daftar parameter fungsi.

unduh film gratis untuk ipad untuk ditonton secara offline

hasil : Jika fungsi memiliki tipe kembalian selain ruang kosong , Anda dapat mengambil nilai yang dikembalikan menggunakan variabel dengan tipe data yang sesuai.

Berikut ini contoh pemanggilan fungsi:

 #include <stdio.h> 

// Function prototype
int add(int a, int b);

int main() {
    int x = 5, y = 3;

    // Call the function and store the result in 'sum'
    int sum = add(x, y);
    printf("The sum of %d and %d is %d\n", x, y, sum);
    return 0;
}

// Function definition
int add(int a, int b) {
    return a + b;
}

Dengan mengikuti tiga langkah ini—mendeklarasikan fungsi, menyediakan implementasinya, dan memanggilnya dengan argumen yang sesuai—Anda dapat menggunakan fungsi secara efektif untuk melakukan berbagai tugas dalam program Anda.

Parameter Fungsi dan Nilai Pengembalian

Parameter adalah variabel yang dideklarasikan dalam deklarasi atau definisi fungsi yang bertindak sebagai pengganti nilai yang diteruskan ke fungsi saat dipanggil. Mereka memungkinkan Anda meneruskan data ke dalam fungsi, memungkinkannya bekerja dengan dan memanipulasi data tersebut. Nilai yang dikembalikan adalah nilai yang dihasilkan suatu fungsi dan dikirim kembali ke pemanggil.

Ada dua metode untuk meneruskan parameter.

Lewati Nilai

Dengan pendekatan ini, pemanggilan fungsi menyalin nilai argumen sebenarnya ke dalam parameter fungsi. Perubahan yang dilakukan pada parameter dalam fungsi tidak mempengaruhi argumen awal.

Misalnya:

 #include <stdio.h> 

int square(int num) {
    num = num * num;
    return num;
}

int main() {
    int x = 5;
    int y = square(x);

    // Output: x and y after function call: 5 25
    printf("x and y after function call: %d %d\n", x, y);

    return 0;
}
  • Fungsi kuadrat mengambil parameter bilangan bulat, pada satu .
  • Fungsi kuadrat menghitung kuadrat angka, memperbarui nilainya, dan mengembalikan nilai baru ini.
  • Fungsi utama mendeklarasikan variabel integer, X , dan memberinya nilai 5.
  • Ia kemudian memanggil fungsi kuadrat, meneruskannya dengan nilai x. Ini menugaskan hasilnya ke variabel kedua, Dan .
  • Setelah pemanggilan fungsi, main mencetak nilai x dan y. Nilai x tetap sama karena mengubah parameter num di dalam kotak tidak mempengaruhi x asli.

Lewati Referensi

Dengan menggunakan pendekatan ini, Anda meneruskan alamat memori (penunjuk) suatu nilai ke suatu fungsi. Perubahan yang dilakukan pada parameter di dalam fungsi akan mempengaruhi nilai asli di luarnya.

Pointer, termasuk penggunaannya sebagai parameter, merupakan salah satu aspek dari C yang membuatnya berbeda dari bahasa seperti Python .

 #include <stdio.h> 

void square(int *num) {
    *num = *num * *num;
}

int main() {
    int x = 5;
    square(&x);

    // Output: x after function call: 25
    printf("x after function call: %d\n", x);
    return 0;
}
  • Itu persegi fungsi mengambil pointer integer ( ke dalam * ) parameter, pada satu . Itu tidak mengembalikan nilai.
  • Fungsi kuadrat menghitung kuadrat dari nilai itu pada satu berisi dan memperbarui nilai itu menggunakan operator dereferensi penunjuk, * .
  • Itu utama fungsi mendeklarasikan variabel integer, X , dan memberinya nilai 5 .
  • Ia kemudian memanggil persegi berfungsi dengan penunjuk ke X menggunakan alamat operator: &X .
  • Setelah pemanggilan fungsi, main mencetak nilai X , yang sekarang 25 sejak perubahan menjadi *pada satu di dalam persegi fungsi mempengaruhi aslinya X .

Singkatnya, perbedaan utama antara kedua metode ini adalah bagaimana perubahan parameter di dalam fungsi memengaruhi nilai asli di luarnya. Pass by value membuat salinan, sedangkan pass by reference (penunjuk) memungkinkan manipulasi langsung terhadap nilai asli.