[Powered by Google Translate] Fungsi merupakan bagian dari kode yang digunakan dalam program yang lebih besar
untuk melakukan tugas tertentu.
Mereka juga dikenal sebagai prosedur, subrutin, dan subprogram,
karena mereka benar-benar hanya program mini dalam program.
Meskipun Anda mungkin tidak menyadari,
Anda pasti telah menggunakan fungsi yang sudah jika Anda telah diprogram dalam C.
Ketika Anda menulis hal-hal ke layar menggunakan printf,
Anda benar-benar menggunakan fungsi yang disebut printf.
Demikian juga, GetInt dan GetString adalah fungsi yang CS50 menyediakan untuk Anda.
Sebagai programmer, kita menggunakan fungsi untuk sejumlah alasan.
>> Memiliki fungsi untuk melakukan tugas umum seperti menulis ke layar
dan mendorong pengguna untuk input menyelamatkan kita saat pemrograman.
Ini tidak perlu untuk menulis kode untuk melakukan hal-hal yang sama
karena mereka sudah lakukan bagi kita.
Ini bahkan tidak perlu bagi kita untuk memahami bagaimana fungsi-fungsi bekerja secara internal.
Sebaliknya, kita hanya perlu tahu bagaimana untuk menggunakan atau memanggil mereka dalam program kami.
Ini juga berguna untuk menulis fungsi dalam program yang lebih besar
bahkan jika Anda tidak berencana untuk memiliki orang lain menggunakannya,
hanya untuk membagi tugas yang lebih besar di tangan.
Dengan cara ini, Anda memberikan struktur kode Anda seperti Anda akan memberikan struktur esai,
dan dengan proyek benar-benar besar Anda mengaktifkan beberapa orang
untuk bekerja pada bagian yang berbeda pada saat yang sama
karena itu jelas di mana pekerjaan satu orang berakhir dan yang lain itu dimulai.
>> Fungsi biasanya beroperasi pada 1 atau lebih input, yang dikenal sebagai argumen atau parameter,
mengubah mereka menjadi input nilai output yang kemudian dikembalikan.
Namun, itu juga mungkin untuk memiliki fungsi yang tidak menggunakan argumen input
dan tidak kembali output.
Oke, cukup dengan hal-hal yang berbulu.
Mari kita lihat beberapa fungsi nyata dalam C.
>> Di sini kita memiliki fungsi yang disebut persegi yang, percaya atau tidak,
menghitung kuadrat dari input.
Mari kita membedah sintaks dari itu.
Kata pertama yang Anda lihat dalam fungsi, int,
menentukan jenis kembalinya fungsi, yaitu, tipe C output fungsi itu.
Fungsi ini akan menampilkan nilai dengan tipe int.
Kata berikutnya yang Anda lihat adalah nama fungsi, persegi dalam kasus ini.
Penamaan fungsi tepat sangat penting
karena itu mungkin dokumentasi yang paling terlihat dari apa fungsi melakukan.
Ini mungkin akan keren untuk nama fungsi ini Shazam atau booyah,
tapi itu tidak akan menceritakan apa-apa tentang apa fungsi tidak.
>> Setelah nama fungsi input datang ke fungsi, argumen.
Mereka terdaftar dalam satu set tanda kurung
dengan kedua jenis mereka dan nama yang akan digunakan untuk mereka dalam fungsi tubuh.
Persegi hanya butuh 1 argumen, int ke persegi,
yang saya telah memutuskan untuk memberikan x nama.
Ini mengakhiri deklarasi fungsi atau prototipe.
Yang keriting kawat gigi yang mengelilingi seluruh fungsi
menandakan awal dan akhir fungsi tubuh,
definisi fungsi itu sendiri.
Persegi adalah fungsi yang cukup sederhana.
Ini hanya punya 1 line, karena semua yang harus kita lakukan adalah kalikan x dengan sendirinya.
Kembalinya Kata menentukan nilai output dan memicu akhir fungsi.
Untuk menggunakan fungsi persegi, kita harus memberikan masukan yang sesuai
dan kemudian menangkap output.
Di sini, Anda melihat beberapa cara untuk melakukan itu.
Kita bisa lulus dalam int baku, seperti 6, atau kita bisa lulus dalam variabel seperti.
Perhatikan bahwa setiap kali kita sebut persegi,
kita menangkap output dalam variabel dan kemudian mencetaknya.
Namun, kami tidak perlu menyimpan nilai kembali dalam variabel dan kemudian mencetak.
Kami hanya bisa mengirimkannya langsung ke printf seperti yang kita lakukan ketika kita persegi 10,
tapi ini tidak berarti bahwa kita tidak memiliki akses ke nilai pengembalian persegi 10
tempat lain dalam kode.
Mari kita lihat contoh lain yang sederhana.
>> Kali ini, kita akan jumlah 2 mengapung bersama-sama sehingga kita bisa melihat apa yang tampak seperti fungsi
saat itu punya 2 input bukan hanya 1.
Seperti yang Anda lihat, itu tidak jauh berbeda.
Semua yang kita lakukan adalah menambahkan argumen 2, pelampung bernama b,
ke daftar argumen menggunakan koma untuk memisahkan dari argumen pertama, melayang.
Jadi, persegi dan fungsi sum cukup mudah dimengerti
karena mereka setara dengan fungsi yang telah Anda lihat sebelumnya di kelas matematika.
Sekarang, mari kita lihat fungsi yang sedikit berbeda.
Alih-alih kembali nilai, memodifikasi negara.
Ini dikenal sebagai memiliki efek samping.
Dalam program ini, fungsi printf_fudd_style
memiliki tipe kembali yang belum kita lihat sebelumnya, batal.
>> Void digunakan untuk mengatakan bahwa fungsi tidak mengembalikan apa-apa.
Tidak ada variabel tipe void,
jadi jika Anda mencoba untuk mengembalikan sesuatu dari fungsi seperti printf_fudd_style,
compiler akan berteriak pada Anda.
Di dalam printf_fudd_style, kita melihat bahwa sementara fungsi masih melakukan tugas,
yaitu, beralih semua ke Rs Ws,
titik berfungsi untuk memodifikasi string dan kemudian mencetaknya di layar,
mengubah keadaan program bukannya kembali hasilnya.
Menggunakan fungsi ini sangat mirip dengan menggunakan persegi dan fungsi sum,
kecuali kita tidak menyimpan hasilnya dalam variabel atau menularkannya ke fungsi lain
karena tidak ada hasil untuk berbicara.
Jadi, ketika kita mengkompilasi dan menjalankan kami Elmer Fudd Program,
Anda melihat bahwa "Kamu bajingan kelinci!" akan berubah hak untuk
"Kau wascally Wabbit!"
>> Akhirnya, ada fungsi 1 lebih layak mendiskusikan
karena Anda telah menggunakannya dalam setiap program C yang pernah ditulis, utama.
Main adalah fungsi seperti yang lain.
Ini punya tipe kembali, nama, daftar argumen, dan tubuh.
Jenis kembalinya utama adalah selalu int,
dan int ini digunakan untuk mengkomunikasikan status program ketika selesai.
>> Apakah itu berjalan dengan sukses, atau apakah itu berakhir lebih awal karena kesalahan?
Kembali ke nol menunjukkan berjalan sukses,
dan kembali setiap nilai non-nol menunjukkan kesalahan.
Tergantung pada jenis program yang Anda sedang menulis,
kembali kode yang berbeda untuk kesalahan yang berbeda dapat membantu
bagi orang-orang yang menggunakan program Anda nanti.
Induk argumen yang sedikit lebih rumit.
>> Daftar argumen dapat menjadi kosong,
yang kita mengindikasikan dengan menulis kekosongan di antara tanda kurung,
atau daftar dapat memiliki 2 argumen: int dan sebuah array dari char * s.
Ini digunakan ketika program Anda berniat untuk menggunakan
argumen berlalu dalam pada baris perintah saat program dipanggil.
Argumen int biasanya disebut argc,
dan itu sama dengan panjang dari array char *, yang dikenal sebagai argv.
Argv berisi argumen baris perintah dilewatkan ke dalam program.
Dalam pendek yang lain, kita akan berbicara tentang bagaimana menggunakan variabel tersebut secara lebih rinci.
Untuk saat ini, Anda dapat merasa bebas untuk menyatakan cara utama baik.
Saya biasanya memilih untuk menulis itu keluar dengan cara yang lebih pendek, tanpa argumen, jika memungkinkan.
>> Sekarang Anda tahu bagaimana menulis fungsi,
Anda baik pada cara untuk mengembangkan lebih besar, program yang lebih kompleks.
Nama saya adalah Nate Hardison. Ini adalah CS50.