Pengantar Fungsi C
Table of content:
Anda mungkin telah membahas sintaksis C dasar, 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.
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?
Dalam pemrograman C, 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) {
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 kosongitu 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.
hasil: Jika fungsi memiliki tipe kembalian selain ruang kosongAnda dapat mengambil nilai yang dikembalikan menggunakan variabel dengan tipe data yang sesuai.
Berikut ini contoh pemanggilan fungsi:
#include <stdio.h>
int add(int a, int b);
int main() {
int x = 5, y = 3;
int sum = add(x, y);
printf("The sum of %d and %d is %d\n", x, y, sum);
return 0;
}
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);
printf("x and y after function call: %d %d\n", x, y);
return 0;
}
- Fungsi kuadrat mengambil parameter bilangan bulat, nomor.
- Fungsi kuadrat menghitung kuadrat angka, memperbarui nilainya, dan mengembalikan nilai baru ini.
- Fungsi utama mendeklarasikan variabel integer, Xdan memberinya nilai 5.
- Ia kemudian memanggil fungsi kuadrat, meneruskannya dengan nilai x. Ini menugaskan hasilnya ke variabel kedua, kamu.
- 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, adalah salah satu aspek C yang membedakannya dengan bahasa seperti Python.
#include <stdio.h>void square(int *num) {
*num = *num * *num;
}
int main() {
int x = 5;
square(&x);
printf("x after function call: %d\n", x);
return 0;
}
- Itu persegi fungsi mengambil pointer integer (ke dalam *) parameter, nomor. Itu tidak mengembalikan nilai.
- Fungsi kuadrat menghitung kuadrat dari nilai itu nomor 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 Xyang sekarang 25 sejak perubahan menjadi *nomor 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.
Fungsi Batal
Fungsi void pada pemrograman C adalah fungsi yang tidak mengembalikan nilai. Gunakan mereka untuk melakukan tindakan atau tugas tanpa membuahkan hasil. Mereka dapat mengubah parameternya menggunakan referensi pass by, tetapi mereka tidak harus melakukannya.
Berikut ini contoh fungsi void:
#include <stdio.h>
void greet() {
printf("Hello, MUO!");
}
int main() {
greet();
return 0;
}
Fungsi void berguna untuk melakukan tindakan, mencetak pesan, mengubah data, atau menjalankan tugas tanpa memerlukan nilai kembalian.
Jelajahi Fungsi dalam Pemrograman C
Berlatih melalui pembuatan fungsi meningkatkan pemahaman dan penerapan Anda dalam pemrograman C. Selain itu, ini meningkatkan keterbacaan kode dan kemudahan pemeliharaan. Selami berbagai aplikasi fungsi untuk membuka keunggulannya.
Ketika Anda sudah menguasai dasar-dasar fungsi C dan ingin menantang diri sendiri, pertimbangkan untuk mempelajari rekursi.