C adalah barebone berdasarkan desain. Ini menangani hal-hal yang sangat penting dan menyerahkan sisanya kepada Anda. Tidak ada input keyboard atau output layar bawaan. Jika Anda ingin menampilkan teks, Anda memerlukan alat eksternal. Di sinilah library pemrograman C berperan. Ini adalah potongan kode yang dapat digunakan kembali yang memperluas kemampuan dasar bahasa tersebut.
Anggap saja sebagai plug-in untuk logika Anda. Pustaka stdio standar menangani input dan output. Yang lain mengatur matematika, string, atau waktu. Menggunakannya akan memecah proyek Anda menjadi modul-modul yang dapat dikelola. Ini membuat proses debug menjadi lebih mudah. Ini juga memungkinkan Anda mengambil kode yang berfungsi dari proyek lama dan memasukkannya ke proyek baru.
Mengapa Kode Modular Penting
Menulis semuanya dalam satu file menjadi cepat berantakan. Anda berakhir dengan ratusan baris yang sulit diikuti. Perpustakaan mengatasi masalah ini dengan mengisolasi fungsionalitas. Anda menguji satu fungsi. Anda memverifikasi itu berfungsi. Kemudian Anda melanjutkan.
Hasilnya adalah kode yang lebih bersih. Ini juga lebih aman. Jika bug muncul, Anda tahu persis modul mana yang harus diperiksa. Anda tidak berburu melalui naskah monolitik.
Contoh: Memfaktorkan Ulang Penyortiran Acak
Mari kita lihat contoh praktisnya. Bayangkan sebuah program yang menghasilkan angka acak, mengurutkannya, dan mencetaknya. Kode awal mungkin terlihat berantakan.
Ini mengisi array dengan nilai acak. Ini kemudian menerapkan semacam gelembung. Terakhir, ia mencetak daftar yang diurutkan. Ini berhasil. Tapi itu tidak dapat digunakan kembali. Logika pengurutan di-hardcode. Ukuran array sudah tetap. Anda tidak dapat dengan mudah menukar algoritma pengurutan atau sumber data.
Langkah 1: Ekstrak Fungsi Sortir
Langkah pertama menuju perpustakaan adalah ekstraksi. Ambil loop pengurutan gelembung dan ubah menjadi sebuah fungsi. Karena array a dan konstanta MAX bersifat global dalam cuplikan ini, fungsinya tidak memerlukan parameter untuk array tersebut. Itu juga tidak perlu mengembalikan nilai.
Perhatikan parameternya. Fungsinya sekarang mengambil m, jumlah elemen. Hal ini membuatnya fleksibel. Anda dapat mengurutkan array yang terdiri dari 10 item. Atau array 100. Anda tinggal meneruskan ukurannya.
Fungsi utamanya menjadi lebih sederhana. Itu mengisi array. Itu disebut semacam itu. Ini mencetak hasilnya.
Ini lebih baik. Tapi itu masih terikat dengan array global a. Bagaimana jika Anda ingin mengurutkan array yang berbeda? Atau meneruskan data dari modul lain?
Langkah 2: Generalisasi agar Dapat Digunakan Kembali
Untuk membuatnya benar-benar siap perpustakaan, teruskan array itu sendiri sebagai parameter. Ubah tanda tangan fungsi.
Ini memberitahu kompiler untuk menerima array integer dengan ukuran berapa pun. Badan fungsinya tidak berubah. Anda hanya meneruskan data ke dalam logika daripada mengandalkan keadaan global.
Panggilan di main sedikit diperbarui. Anda meneruskan nama array a dan ukurannya MAX.
Jangan gunakan &a. Anda mungkin berpikir Anda memerlukan pointer ke seluruh array. Anda tidak. Di C, nama array dipecah menjadi pointer ke elemen pertamanya ketika diteruskan ke fungsi. Memahami perbedaan ini memerlukan petunjuk. Namun untuk saat ini, ketahuilah bahwa a sudah cukup.
Mengapa Struktur Ini Menang
kamu































