Rumah Keuangan Pribadi Bagaimana Prototipe Fungsi dalam Pemrograman C - dummies

Bagaimana Prototipe Fungsi dalam Pemrograman C - dummies

Video: Belajar C++ Episode #31 - Prototipe Fungsi 2024

Video: Belajar C++ Episode #31 - Prototipe Fungsi 2024
Anonim

Apa yang terjadi bila Anda tidak prototipe? Seperti apa pun dalam pemrograman C, saat Anda mengatasi masalah, kompilator atau penghubung memungkinkan Anda mengetahui dengan pesan kesalahan - atau program tidak berjalan dengan benar. Ini bukan akhir dari dunia - tidak, tidak seperti memprogram robot militer atau merancang kode genetik untuk spesies baru flytrap Venus.

FUNGSI DASAR; NO RETURN

#include void prompt (); / * fungsi prototipe * / int main () {int loop; masukan char [32]; loop = 0; sementara (loop ");}

Latihan 1 : Ubah kode sumber dari Fungsi Dasar; Tidak Kembali. Tuliskan prototipe dari Baris 3. Buat hasilnya.

Kesalahan kompilator adalah hal yang indah, sangat akurat namun sepenuhnya samar. Inilah pesan kesalahan yang dihasilkan oleh Kode:: Blok, walaupun hanya bagian pesan yang relevan:

13 Peringatan: deklarasi fungsi secara implisit ' prompt '23 Peringatan: tipe yang bertentangan untuk' prompt '13 Peringatan: pernyataan implisit terdahulu dari' prompt 'ada di sini

Peringatan pertama terjadi pada Baris 13 di file kode sumber, di mana fungsi prompt () digunakan di dalam main () fungsi Kompilator memberitahu Anda bahwa Anda menggunakan fungsi tanpa prototipe Seperti pesan kesalahan mengatakan, Anda secara implisit menyatakan sebuah fungsi. Itu bukan-tidak, tapi bukan kesalahan penuh. >

Peringatan kedua terjadi saat fungsi prompt () berdiam dalam program. Dalam kode sumber, ada di Baris 23. Peringatan tersebut menyatakan bahwa pro mpt () sudah dinyatakan (di Baris 11) dan bahwa penggunaan kedua mungkin bertentangan dengan yang pertama.

Peringatan terakhir adalah referensi kembali ke tempat fungsi dipanggil, lagi di Baris 13.

Sederhananya: Kompilator tidak tahu ada apa dengan fungsi prompt (). Kode Anda mengkompilasi, tapi menjalankannya berisiko.

Anda dapat menarik kesimpulan bahwa prototyping adalah kebutuhan mutlak dalam kode C Anda. Itu tidak sepenuhnya benar. Anda dapat menghindari prototyping dengan mengatur ulang fungsi dalam kode sumber Anda. Selama sebuah fungsi terdaftar sebelum digunakan, Anda tidak memerlukan prototipe.

Latihan

2 : Edit kode sumber Anda dari Latihan 10-3. Hapus prototipe fungsi yang dikomentari di Baris 3. Potong dan tempelkan (pindahkan) fungsi prompt () dari bagian bawah daftar kode sumber ke atas, di atas fungsi main (). Simpan, bangun, dan jalankan. Menghindari Prototipe Fungsi menunjukkan solusinya untuk Latihan 2.

MENGHINDARI PROTOTIPE FUNGSI

#include / * Prompt prompt * / void prompt (void) {printf ("C: DOS>";};} int main () {int loop; masukan char [32]; loop = 0; while (loop <5) {prompt (); fgets (input, 31, stdin); Fungsi utama () pertama, diikuti oleh fungsi lain memungkinkan pembacaan yang lebih baik, walaupun Anda bebas menempatkan fungsi Anda terlebih dahulu untuk menghindari pembuatan prototipe.Dan jika tidak, ingatlah bahwa pemrogram lain mungkin melakukannya seperti itu, jadi jangan kaget saat melihatnya.

Pesan kesalahan kompilator dalam Kode:: Blok memiliki tanda kurung setelahnya. Komentar induknya mengacu pada opsi

switch, atau opsi baris perintah tradisional, yang memungkinkan pemeriksaan peringatan tertentu. Misalnya, pesan kesalahan dari Latihan 1 telah dibaca secara penuh: 11 Peringatan: deklarasi fungsi implisit 'prompt' (-Wimplicit-function-declaration) 20 Peringatan: jenis konflik untuk 'prompt' (diaktifkan secara default) >

Bagaimana Prototipe Fungsi dalam Pemrograman C - dummies

Pilihan Editor

Bertahan dalam Zombie Sieges di Minecraft - dummies

Bertahan dalam Zombie Sieges di Minecraft - dummies

Bermasalah dengan zombie yang menyerang desa Anda pada malam hari di Minecraft? Pelajari bagaimana untuk membela diri, menyembuhkan penduduk desa zombie, dan pulihkan dunia Anda!

Zaman Batu di Minecraft - dummies

Zaman Batu di Minecraft - dummies

Tonggak penting dalam mode Minecraft Survival, dan yang dicapai oleh beberapa pemain di Hari pertama, mencapai Zaman Batu. Setelah Anda membuat pickax kayu dan Anda bisa menemukan gua atau menggali lubang, item dalam tabel berikut tersedia untuk Anda. Sebagian besar bahan berbasis batu lebih padat dari yang lain ...

Zaman Looting di Minecraft - dummies

Zaman Looting di Minecraft - dummies

Anda mencapai Usia Looting di Minecraft di awal permainan - kadang-kadang, bahkan paralel untuk mencapai Era Kayu. Anda mulai dengan membunuh musuh untuk menjarah, dan dengan menggunakan jarahan untuk memperbaiki repertoar kerajinan Anda. Lebih banyak item kemudian tersedia bagi Anda, seperti tercantum dalam tabel. Semua alat meningkatkan jumlah ...

Pilihan Editor

Infografis tepat waktu: Berbagi Breaking News - dummies

Infografis tepat waktu: Berbagi Breaking News - dummies

Walaupun infografik Anda tidak mungkin menjadi satu-satunya sumber berita, Ini bisa membantu pemahaman pembaca akan sebuah acara berita. Misalnya, banyak orang belajar di Twitter pada bulan Oktober, 2011 bahwa pendiri Apple Steve Jobs telah meninggal dunia. Infografis tidak akan menjadi orang pertama yang mendengarnya. Tapi orang-orang ...

Pilihan Editor

GED Contoh Pertanyaan: Pertanyaan Ilmu Fisik - dummies

GED Contoh Pertanyaan: Pertanyaan Ilmu Fisik - dummies

Ketika Anda mencapai bagian Sains GED, Anda akan diharapkan memiliki pengetahuan umum di semua cabang Ilmu Pengetahuan, termasuk Ilmu Fisika. Berikut adalah contoh jenis pertanyaan yang mungkin Anda hadapi pada hari ujian. Kecepatan dan Kecepatan Ada perbedaan antara kecepatan dan kecepatan, meskipun terkadang Anda ...

Latihan GED RLA: Reading Comprehension - dummies

Latihan GED RLA: Reading Comprehension - dummies

Cara terbaik untuk mempersiapkan bagian pemahaman bacaan GED Tes RLA adalah melakukan sebanyak mungkin pertanyaan latihan. Simak sampel untuk melihat apa yang akan Anda hadapi pada hari ujian. Contoh Pertanyaan Pertanyaan 1-6 mengacu pada bagian berikut. Fasilitas untuk Akses ke Perusahaan Kreatif (FACE) Awalnya didirikan ...

GED Penalaran melalui Latihan Keterampilan Membaca Bahasa Seni - dummies

GED Penalaran melalui Latihan Keterampilan Membaca Bahasa Seni - dummies

Komponen bacaan Penalaran meskipun Bahasa Seni Bagian pada GED terdiri dari kutipan dari fiksi dan nonfiksi. Setiap kutipan diikuti oleh beberapa item pilihan berdasarkan bahan bacaan. Untuk pertanyaan di bagian ini, pilih satu jawaban terbaik untuk setiap pertanyaan. Bekerja dengan hati-hati, tapi jangan terlalu banyak menghabiskan waktu ...