Semua yang Perlu Anda Ketahui Tentang Fungsi di C?



Artikel ini akan memperkenalkan Anda konsep sederhana namun sangat mendasar dan penting yaitu Fungsi dalam C dan menindaklanjutinya dengan demonstrasi.

Artikel ini akan memperkenalkan Anda yang sederhana namun sangat mendasar dan penting konsep yaitu Fungsi di C dan menindaklanjutinya dengan demonstrasi. Petunjuk berikut akan dibahas dalam artikel ini,

Fungsi adalah blok bangunan dari bahasa pemrograman apa pun. Dengan kata sederhana, berfungsi dalam sekumpulan pernyataan, yang mengambil input, melakukan tugas tertentu & kemudian mengembalikan output.
Ideologi di balik fungsi pembuatan adalah untuk mengikat satu set pernyataan terkait bersama-sama yang melakukan tugas tertentu. Jadi, Anda tidak perlu menulis kode yang sama beberapa kali untuk kumpulan masukan yang berbeda. Anda hanya perlu memanggil fungsi untuk masukan yang berbeda, itu akan melakukan tugas yang ditentukan untuk masukan yang diberikan & mengembalikan keluaran. Anda dapat memanggil fungsi tersebut sebanyak yang Anda inginkan. Di blog ini, kita akan mempelajari setiap nuansa tentang fungsi dalam bahasa pemrograman C.





Mari kita mulai dengan pertanyaan paling mendasar.

Apa Fungsi di C?

Fungsinya sama di C seperti bahasa pemrograman lainnya. Ini adalah sekumpulan kode yang terikat bersama untuk melakukan tugas tertentu. Kumpulan kode yang akan dieksekusi ditentukan dalam tanda kurung kurawal, yaitu '{}'.



python mengubah angka menjadi biner

Sebelum mempelajari cara menulis fungsi dalam C, mari kita pahami dulu apa saja kelebihannya.

Keuntungan Fungsi di C

Kelebihan fungsi umum terjadi di semua bahasa pemrograman.
Ide utama dibalik fungsi adalah untuk mengurangi redundansi dalam kode. Misalkan Anda memiliki fungsionalitas yang perlu dilakukan beberapa kali dalam sebuah program, jadi alih-alih menulisnya beberapa kali, Anda dapat membuat fungsi untuk tugas itu dan memanggilnya sebanyak yang Anda inginkan. Manfaat tersembunyi lainnya adalah, jika logika fungsi Anda berubah setelah itu, Anda tidak perlu melanjutkan dan mengubahnya di banyak tempat. Anda hanya perlu mengubah kode di satu tempat (yaitu di fungsi) & itu akan tercermin di seluruh program.

Modularitas lagi-lagi merupakan keuntungan tambahan. Menulis sepotong besar kode termasuk masing-masing & semuanya, mengurangi keterbacaan kode & membuatnya sulit untuk dikelola. Anda dapat membagi kode menjadi beberapa bagian untuk masing-masing fungsi menggunakan fungsi, yang lebih sederhana untuk dipahami dan lebih mudah dikelola.



Fungsi juga menyediakan abstraksi, di mana kita dapat memanggil suatu fungsi dan mendapatkan keluaran tanpa mengetahui implementasi internal.

Pindah dengan jenis Fungsi C

Jenis Fungsi di C

Ada dua jenis fungsi:
Fungsi perpustakaan
Fungsi yang ditentukan pengguna

Fungsi perpustakaan adalah fungsi-fungsi yang telah didefinisikan dalam perpustakaan C seperti strcat (), printf (), scanf () dll. Anda hanya perlu memasukkan file header yang sesuai untuk menggunakan fungsi ini.
Fungsi yang ditentukan pengguna adalah fungsi yang ditentukan oleh pengguna. Fungsi ini dibuat agar kode dapat digunakan kembali dan untuk menghemat waktu dan ruang.

Sekarang setelah kita mengetahui manfaat membuat fungsi, mari kita pahami cara mendeklarasikan fungsi di C.

Deklarasi & Definisi Fungsi

Deklarasi Fungsi:

Sintaks deklarasi fungsi:

return_type function_name (data_type arg1, data_type arg2) int add (int x, int y) // deklarasi fungsi

Dalam Deklarasi Fungsi, kita menentukan nama fungsi, jumlah parameter input, tipe datanya & tipe kembalian fungsi. Deklarasi fungsi memberi tahu compiler tentang daftar argumen yang diharapkan fungsi dengan tipe datanya & tipe kembalian dari fungsi tersebut.

Dalam deklarasi fungsi, menentukan nama parameter adalah opsional, tetapi menentukan tipe datanya adalah wajib.

int add (int, int) // deklarasi fungsi

Fungsi yang ditentukan di atas akan mengambil dua parameter integer.

Definisi Fungsi

 Gambar- Fungsi di C- Edureka
int add (int, int) // deklarasi fungsi return_type function_name (parameter) {Function body}

Seperti yang ditunjukkan pada gambar di atas, definisi fungsi terdiri dari dua bagian yaitu header fungsi & badan fungsi

Fungsi Header: header fungsi sama dengan deklarasi fungsi tanpa titik koma. Header fungsi berisi nama fungsi, parameter & tipe kembalian.

  • Jenis Pengembalian: Tipe pengembalian adalah tipe data dari nilai yang akan dikembalikan oleh fungsi. Fungsi tersebut mungkin atau mungkin tidak mengembalikan nilai. Jika ya, maka tipe data dari nilai retuning harus ditentukan, jika tidak, tipe kembalian harus batal.

  • Nama Fungsi: Ini adalah nama fungsi yang dapat digunakan untuk memanggil fungsi saat & di mana diperlukan.

  • Parameter: Parameter adalah nilai input yang akan diteruskan ke fungsi. Ini menceritakan tentang tipe data dari argumen, urutannya dan jumlah argumen yang akan diteruskan ke fungsi. Parameternya opsional. Anda juga dapat memiliki fungsi tanpa parameter.

Fungsi Tubuh: Badan fungsi adalah himpunan pernyataan yang melakukan tugas tertentu. Ini mendefinisikan apa fungsinya.

Contoh:

int add (int x, int y) {int sum = x + y return (sum)}

Direkomendasikan untuk mendeklarasikan sebuah fungsi sebelum kita mendefinisikan & menggunakannya. Di C, kita bisa mendeklarasikan & mendefinisikan fungsi di tempat yang sama.

Rekursi fibonacci c ++

Contoh:

#include int add (int, int) // deklarasi fungsi // definisi fungsi int add (int x, int y) // header fungsi {// function body int sum = x + y return (sum)} // Fungsi Utama int main () {int sum = add (23, 31) printf ('% d', sum) return 0}

Seperti yang bisa kita lihat pada contoh di atas bahwa kita memanggil fungsi menggunakan pernyataan int sum = add (23, 31). Nilai yang dikembalikan dari fungsi disimpan dalam variabel jumlah.

Sebelum kita melanjutkan, ada satu konsep lagi yang perlu dipahami tentang parament. Ada dua jenis parameter:

Parameter Aktual : Parameter yang diteruskan ke fungsi saat memanggilnya dikenal sebagai parameter aktual. Misalnya, 23 & 31 pada contoh di atas adalah parameter sebenarnya.

Parameter Formal : Parameter yang diterima oleh fungsi dikenal sebagai parameter formal. Misalnya, x & y pada contoh di atas adalah parameter formal.

Mari kita cepat maju dan memahami berbagai cara memanggil suatu fungsi di C.

Memanggil Fungsi

Ada dua cara untuk memanggil suatu fungsi:

  • Panggilan berdasarkan nilai
  • Panggil dengan referensi

Panggilan berdasarkan nilai

Dalam metode panggilan dengan nilai, nilai parameter aktual dikirimkan sebagai argumen ke fungsi. Nilai parameter aktual tidak dapat diubah oleh parameter formal.

Dalam metode panggilan menjadi nilai, alamat memori yang berbeda dialokasikan ke parameter formal & aktual. Hanya nilai parameter aktual yang disalin ke parameter formal.

Contoh:

#include void Call_By_Value (int num1) {num1 = 42 printf ('nInside Function, Number is% d', num1)} int main () {int num num = 24 printf ('nBefore Function, Number is% d', num ) Call_By_Value (num) printf ('nAfter Function, Number is% dn', num) return 0}

Keluaran

Pada contoh di atas, sebelum memanggil dengan fungsi nilai, nilai dari num adalah 24. Kemudian, setelah kita memanggil fungsi dan melewatkan nilainya, & mengubahnya di dalam fungsi, menjadi 42. Ketika kita kembali & mencetak lagi nilainya dari jumlah di fungsi utama, menjadi 24.

Panggil dengan referensi

Dalam panggilan dengan referensi, alamat memori dari parameter aktual diteruskan ke fungsi sebagai argumen. Di sini, nilai parameter aktual dapat diubah dengan parameter formal.

Alamat memori yang sama digunakan untuk parameter aktual & formal. Jadi, jika nilai parameter formal diubah, hal itu juga tercermin dari parameter aktual.

Di C kita menggunakan pointer untuk mengimplementasikan panggilan dengan referensi. Seperti yang Anda lihat pada contoh di bawah, fungsi Call_By_Reference mengharapkan pointer ke integer.

Sekarang, variabel num1 ini akan menyimpan alamat memori dari parameter sebenarnya. Jadi, untuk mencetak nilai yang disimpan di alamat memori yang ditunjukkan oleh num1 kita perlu menggunakan operator dereferensi yaitu *. Jadi, nilai * num1 adalah 42.

Operator alamat & digunakan untuk mendapatkan alamat variabel dari semua tipe data. Jadi dalam pernyataan panggilan fungsi 'Call_By_Reference (& num)', alamat num diteruskan sehingga num dapat dimodifikasi menggunakan alamatnya.

Contoh

#include // definisi fungsi void Call_By_Reference (int * num1) {* num1 = 42 printf ('nInside Function, Number is% d', * num1)} // Main Function int main () {int num num = 24 printf ( 'nBefore Function, Number is% d', num) Call_By_Reference (& num) printf ('nAfter Function, Number is% dn', num) return 0}

Keluaran

Dalam contoh ini, nilai num awalnya adalah 24, di dalam fungsi utama. Setelah diteruskan ke fungsi Call_By_Reference dan nilainya diubah oleh parameter formal, itu juga diubah untuk parameter aktual. Inilah sebabnya ketika kita mencetak nilai num setelah fungsi mencetak 42.

Pindah dengan jenis fungsi yang ditentukan pengguna di C

Jenis Buatan Pengguna Fungsi di C

Ada berbagai jenis fungsi yang ditentukan pengguna berdasarkan tipe kembalian & argumen yang diteruskan.

Pindah dengan Tidak ada argumen yang diberikan dan tidak ada nilai yang dikembalikan

1. Tidak ada argumen yang diberikan dan tidak ada nilai kembali

Sintaksis:

deklarasi fungsi:

void function () function call: function () definisi fungsi: void function () {pernyataan}

Contoh

tabel periodik alat devops
#include void add () void add () {int x = 20 int y = 30 int sum = x + y printf ('sum% d', sum)} int main () {add () return 0}

Pindah dengan Tidak ada argumen yang diberikan tetapi nilai yang dikembalikan

2 Tidak ada argumen yang diberikan kecuali nilai yang dikembalikan

Sintaksis:

deklarasi fungsi:

int function () function call: function () definisi fungsi: int function () {pernyataan mengembalikan a}

Contoh:

#include int add () int add () {int x = 20 int y = 30 int sum = x + y return (sum)} int main () {int sum sum = add () printf ('sum% d', jumlah) kembali 0}

Pindah dengan Argumen diteruskan tetapi tidak ada nilai yang dikembalikan

3 Argumen berhasil tetapi tidak ada nilai yang dikembalikan

Sintaksis:

deklarasi fungsi:

void function (int) function call: function (a) definisi fungsi: void function (int a) {pernyataan}

Contoh:

#include void add (int, int) void add (int x, int y) {int sum = x + y return (sum)} int main () {add (23, 31) return 0}

Pindah dengan Argumen diteruskan dan nilai kembali

4 Argumen lulus dan nilai kembali

Sintaksis:

deklarasi fungsi:

int function (int) function call: function (a) definisi fungsi: int function (int a) {pernyataan mengembalikan a}

Contoh

#include int add (int, int) int add (int x, int y) {int sum = x + y return (sum)} int main () {int sum = add (23, 31) printf ('% d' , sum) return 0}

Sekarang mari kita lihat dengan cepat fungsi perpustakaan C yang penting untuk menulis program.

C Fungsi Perpustakaan

Fungsi perpustakaan adalah fungsi di C yang telah ditentukan sebelumnya dan ada secara default. Anda hanya perlu memasukkan file header tertentu ke dalam program & Anda dapat menggunakan fungsi yang ditentukan dalam file header itu. Setiap file header menyediakan jenis fungsionalitas tertentu. Ekstensi dari file header adalah .h.

Misalnya, untuk menggunakan fungsi printf / scanf kita perlu menyertakan stdio.h dalam program kita, yang menyediakan fungsionalitas terkait input / output standar.

Berikut adalah daftar file header.

satustdio.hFile header input / output standar
2minting.hFile header input / output konsol
3string.hFungsi pustaka terkait string seperti gets (), put (), dll.
4stdlib.hFungsi perpustakaan umum seperti malloc (), calloc (), exit (), dll.
5math.hFungsi terkait operasi matematika seperti sqrt (), pow (), dll.
6time.hFungsi terkait waktu
7ctype.hFungsi penanganan karakter
8stdarg.hFungsi argumen variabel
9signal.hFungsi penanganan sinyal
10setjmp.hFungsi lompat
sebelaslocale.hFungsi lokal
12errno.hFungsi penanganan kesalahan
13assert.hFungsi diagnostik

Sekarang setelah melalui fungsi C di atas, Anda akan memahami setiap nuansa fungsi & bagaimana mengimplementasikannya dalam bahasa C. Semoga blog ini informatif dan menjadi nilai tambah bagi Anda.

Jadi kami telah sampai pada akhir artikel ini tentang 'Functions In C'. Jika Anda ingin mempelajari lebih lanjut, lihat , perusahaan pembelajaran online tepercaya. Kursus pelatihan dan sertifikasi Java J2EE dan SOA dari Edureka dirancang untuk melatih Anda untuk konsep inti dan lanjutan Java bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar blog ini dan kami akan menghubungi Anda kembali secepatnya.