Semua yang Anda Perlu Tahu Mengenai Fungsi di C?



Artikel ini akan memperkenalkan konsep ringkas tetapi sangat mendasar dan penting iaitu Fungsi dalam C dan menindaklanjutinya dengan demonstrasi.

Artikel ini akan memperkenalkan anda yang ringkas namun sangat mendasar dan penting konsep yang Fungsi dalam C dan ikuti dengan demonstrasi. Petunjuk berikut akan dibahas dalam artikel ini,

Fungsi adalah blok penyusun sebarang bahasa pengaturcaraan. Dengan kata mudah, berfungsi dalam satu set pernyataan, yang memerlukan input, melakukan tugas tertentu & kemudian mengembalikan hasilnya.
Ideologi di sebalik mewujudkan fungsi adalah untuk mengikat satu set pernyataan yang berkaitan bersama-sama yang melakukan tugas tertentu. Oleh itu, anda tidak perlu menulis kod yang sama berkali-kali untuk set input yang berbeza. Anda hanya perlu memanggil fungsi untuk input yang berbeza, ia akan menjalankan tugas yang ditentukan untuk input yang diberikan & mengembalikan output. Anda boleh memanggil fungsi seberapa banyak yang anda mahukan. Di blog ini, kita akan mempelajari setiap nuansa mengenai fungsi dalam bahasa pengaturcaraan C.





Mari kita mulakan dengan soalan yang paling asas.

Apakah Fungsi dalam C?

Fungsi sama dalam bahasa C seperti bahasa pengaturcaraan lain. Ini adalah sekumpulan kod yang diikat bersama untuk melaksanakan tugas tertentu. Kumpulan kod yang akan dilaksanakan ditentukan dalam pendakap kerinting, yaitu '{}'.



Sebelum mempelajari cara menulis fungsi dalam C, mari kita fahami terlebih dahulu apa kelebihannya.

Kelebihan Fungsi di C

Kelebihan fungsi adalah umum di semua bahasa pengaturcaraan.
Idea utama di sebalik fungsi adalah untuk mengurangkan kelebihan dalam kod. Katakan anda mempunyai fungsi yang perlu dilakukan berkali-kali dalam program, jadi daripada menulisnya berkali-kali, anda boleh membuat fungsi untuk tugas itu dan memanggilnya seberapa banyak kali yang anda mahukan. Manfaat tersembunyi lain adalah, jika logik fungsi anda berubah selepas itu, maka anda tidak perlu terus maju dan mengubahnya di beberapa tempat. Anda hanya perlu menukar kod di satu tempat (iaitu dalam fungsi) & ia akan dicerminkan sepanjang program.

Modulariti sekali lagi memberi faedah tambahan. Menulis kod besar termasuk setiap & semuanya, mengurangkan kebolehbacaan kod & menjadikannya sukar untuk diuruskan. Anda boleh membahagikan kod dalam bahagian untuk fungsi individu menggunakan fungsi, yang lebih mudah difahami dan lebih mudah dikendalikan.



apa itu substring dalam java

Fungsi juga memberikan abstraksi, di mana kita dapat memanggil fungsi dan mendapatkan output tanpa mengetahui pelaksanaan internal.

Bergerak dengan jenis Fungsi C

Jenis Fungsi di C

Terdapat dua jenis fungsi:
Fungsi perpustakaan
Fungsi yang ditentukan pengguna

Fungsi perpustakaan adalah fungsi yang sudah ditentukan dalam perpustakaan C seperti strcat (), printf (), scanf () dll. Anda hanya perlu memasukkan fail tajuk yang sesuai untuk menggunakan fungsi-fungsi ini.
Fungsi yang ditentukan pengguna adalah fungsi yang ditentukan oleh pengguna. Fungsi-fungsi ini dibuat untuk penggunaan semula kod dan untuk menjimatkan masa dan ruang.

Sekarang kita mengetahui faedah membuat fungsi, mari kita fahami bagaimana menyatakan fungsi di C.

Pernyataan & Definisi Fungsi

Pengisytiharan Fungsi:

Sintaksis pengisytiharan fungsi:

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

Dalam Deklarasi Fungsi, kami menentukan nama fungsi, jumlah parameter input, jenis data mereka & jenis kembali fungsi. Deklarasi fungsi memberitahu penyusun mengenai senarai argumen yang diharapkan fungsi dengan jenis data mereka & jenis pengembalian fungsi.

Dalam deklarasi fungsi, menentukan nama parameter adalah pilihan, tetapi menentukan jenis data mereka adalah wajib.

int add (int, int) // deklarasi fungsi

Fungsi yang dinyatakan di atas akan mengambil dua parameter integer.

Definisi Fungsi

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

Seperti yang ditunjukkan dalam gambar di atas, definisi fungsi terdiri daripada dua bahagian iaitu fungsi tajuk & fungsi badan

Tajuk Fungsi: header fungsi adalah sama dengan deklarasi fungsi tanpa titik koma. Fungsi tajuk mengandungi nama fungsi, parameter & jenis pengembalian.

  • Jenis Pulangan: Jenis kembali adalah jenis data dari nilai yang akan dikembalikan oleh fungsi. Fungsi mungkin atau tidak akan mengembalikan nilai. Sekiranya berlaku, maka jenis data dari nilai retuning harus ditentukan, jika tidak, jenis pengembalian perlu dibatalkan.

  • Nama Fungsi: Ini adalah nama fungsi yang menggunakan mana kita dapat memanggil fungsi ketika & di mana diperlukan.

  • Parameter: Parameter adalah nilai input yang akan diteruskan ke fungsi. Ia memberitahu tentang jenis data argumen, susunannya dan jumlah argumen yang akan diteruskan ke fungsi. Parameternya adalah pilihan. Anda juga boleh mempunyai fungsi tanpa parameter.

Badan Berfungsi: Badan fungsi adalah kumpulan pernyataan yang melakukan tugas tertentu. Ia menentukan fungsi yang dilakukan.

Contoh:

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

Sebaiknya nyatakan fungsi sebelum kita menentukan & menggunakannya. Di C, kita dapat menyatakan & menentukan fungsi di tempat yang sama.

Contoh:

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

Seperti yang dapat kita lihat dalam contoh di atas bahawa kita memanggil fungsi menggunakan pernyataan int sum = add (23, 31). Nilai yang dikembalikan dari fungsi disimpan dalam pemboleh ubah jumlah.

Sebelum kita melangkah maju, ada satu konsep yang lebih penting untuk difahami mengenai parament. Terdapat dua jenis parameter:

Parameter Sebenar : Parameter yang dilewatkan ke fungsi saat memanggilnya dikenal sebagai parameter sebenarnya. Sebagai contoh, 23 & 31 dalam contoh di atas adalah parameter sebenar.

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

Mari cepat bergerak ke depan dan fahami pelbagai cara memanggil fungsi di C.

Memanggil Fungsi

Terdapat dua cara untuk memanggil fungsi:

  • Panggilan mengikut nilai
  • Panggilan melalui rujukan

Panggilan mengikut nilai

Dalam kaedah panggilan demi nilai, nilai parameter sebenar diteruskan sebagai argumen kepada fungsi. Nilai parameter sebenarnya tidak dapat diubah oleh parameter formal.

cara menutup program di java

Dalam kaedah panggilan menjadi nilai, alamat memori yang berbeza diperuntukkan untuk parameter formal & sebenar. Hanya nilai parameter sebenar 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 ('n Sebelum Fungsi, Nombor adalah% d', num ) Call_By_Value (num) printf ('nSetelah Fungsi, Nombor adalah% dn', num) kembali 0}

Pengeluaran

Dalam contoh di atas, sebelum fungsi call by value, nilai num adalah 24. Kemudian, setelah kita memanggil fungsi dan meneruskan nilai, & mengubahnya di dalam fungsi, ia menjadi 42. Apabila kita kembali & mencetak semula nilai num dalam fungsi utama, ia menjadi 24.

Panggilan melalui rujukan

Dalam panggilan melalui rujukan, alamat memori parameter sebenar diteruskan ke fungsi sebagai argumen. Di sini, nilai parameter sebenar dapat diubah dengan parameter formal.

Alamat memori yang sama digunakan untuk parameter sebenar & formal. Jadi, jika nilai parameter formal diubah, ia juga ditunjukkan oleh parameter sebenarnya.

Di C kita menggunakan penunjuk untuk melaksanakan panggilan dengan rujukan. Seperti yang anda lihat dalam contoh di bawah, fungsi Call_By_Reference mengharapkan penunjuk ke bilangan bulat.

Sekarang, pemboleh ubah num1 ini akan menyimpan alamat memori parameter sebenar. Oleh itu, untuk mencetak nilai yang tersimpan di alamat memori yang ditunjukkan oleh num1, kita perlu menggunakan operator dereference iaitu *. Jadi, nilai * num1 ialah 42.

Operator alamat & digunakan untuk mendapatkan alamat pemboleh ubah dari sebarang jenis data. Oleh itu, dalam pernyataan panggilan fungsi ‘Call_By_Reference (& num)’, alamat num diteruskan sehingga num dapat diubah menggunakan alamatnya.

Contohnya

#include // definisi fungsi batal Call_By_Reference (int * num1) {* num1 = 42 printf ('nInside Function, Number is% d', * num1)} // Fungsi Utama int utama () {int num num = 24 printf ( 'nSebelum Fungsi, Nombor adalah% d', num) Call_By_Reference (& num) printf ('nSetelah Fungsi, Nombor adalah% dn', num) kembali 0}

Pengeluaran

Dalam contoh ini, nilai num adalah 24 pada mulanya, di dalam fungsi utama. Setelah diteruskan ke fungsi Call_By_Reference dan nilainya diubah oleh parameter formal, ia juga berubah untuk parameter sebenarnya. Inilah sebabnya mengapa semasa kita mencetak nilai num setelah fungsi itu mencetak 42.

Bergerak dengan jenis fungsi yang ditentukan pengguna di C

Jenis yang Ditentukan Pengguna Fungsi di C

Terdapat pelbagai jenis fungsi yang ditentukan pengguna berdasarkan jenis pengembalian & argumen yang dilalui.

Melanjutkan dengan Tiada argumen yang diluluskan dan tidak ada nilai kembali

1. Tidak ada hujah yang diluluskan dan tidak ada nilai kembali

Sintaks:

pengisytiharan fungsi:

fungsi void () fungsi panggilan: fungsi () definisi fungsi: fungsi void () {pernyataan}

Contohnya

cara memasang hadoop pada linux
#include void add () void add () {int x = 20 int y = 30 int sum = x + y printf ('sum% d', sum)} int utama () {add () return 0}

Melanjutkan dengan Tiada argumen yang diluluskan melainkan nilai pulangan

2 Tidak ada argumen yang diluluskan melainkan nilai pulangan

Sintaks:

pengisytiharan fungsi:

int function () function call: function () function definition: int function () {pernyataan mengembalikan a}

Contoh:

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

Melanjutkan dengan Hujah yang diluluskan tetapi tiada nilai pulangan

3 Hujah diluluskan tetapi tiada nilai pulangan

Sintaks:

pengisytiharan fungsi:

fungsi void (int) fungsi panggilan: fungsi (a) fungsi definisi: fungsi void (int a) {statement}

Contoh:

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

Bergerak dengan Argumen diluluskan dan nilai pulangan

4 Hujah diluluskan dan nilai pulangan

Sintaks:

pengisytiharan fungsi:

fungsi int (int) fungsi panggilan: fungsi (a) fungsi definisi: int fungsi (int a) {pernyataan mengembalikan a}

Contohnya

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

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

Fungsi Perpustakaan C

Fungsi perpustakaan adalah fungsi dalam C yang telah ditentukan sebelumnya dan hadir secara lalai. Anda hanya perlu memasukkan fail header tertentu dalam program & anda boleh menggunakan fungsi yang ditentukan dalam fail header tersebut. Setiap fail tajuk menyediakan jenis fungsi tertentu. Sambungan fail tajuk adalah .h.

Sebagai contoh, untuk menggunakan fungsi printf / scanf kita perlu memasukkan stdio.h dalam program kita, yang menyediakan fungsi mengenai input / output standard.

Berikut adalah senarai fail header.

satustdio.hFail header input / output standard
2pudina.hFail header input / output konsol
3tali.hFungsi perpustakaan berkaitan rentetan seperti mendapat (), meletakkan (), dll.
4stdlib.hFungsi perpustakaan umum seperti malloc (), calloc (), exit (), dll.
5matematik.hFungsi berkaitan operasi matematik seperti sqrt (), pow (), dll.
6masa.hFungsi yang berkaitan dengan masa
7ctype.hFungsi pengendalian watak
8stdarg.hFungsi hujah boleh ubah
9isyarat.hFungsi pengendalian isyarat
10setjmp.hFungsi lompat
sebelaslokal.hFungsi tempatan
12errno.hRalat semasa mengendalikan fungsi
13menegaskan.hFungsi diagnostik

Sekarang setelah melalui fungsi C di atas, anda akan memahami setiap nuansa fungsi & bagaimana melaksanakannya dalam bahasa C. Saya harap blog ini memberi maklumat dan nilai tambah kepada anda.

Oleh itu, kita telah mengakhiri artikel ini mengenai 'Fungsi Dalam C'. Sekiranya anda ingin mengetahui lebih lanjut, lihat di , syarikat pembelajaran dalam talian yang dipercayai. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.