Halo, dan selamat datang kembali. Dalam kuliah ini, saya ingin berbicara tentang string konstan.
Kita tahu bahwa literal string atau konstanta string berada di dalam tanda kutip ganda.
Tapi bagaimana dengan variabel itu sendiri. Bagaimana Anda bisa memastikan bahwa variabel tidak
akan pernah bisa mengubah nilai itu?
Ini disebut sebagai konstanta. Jadi string konstan
terkadang diperlukan dalam program Anda
di mana Anda tidak ingin nilai variabel Anda berubah.
Jadi misalnya, jika kita membuat keliling dari beberapa perhitungan, kita
akan melakukan 3. 14159 kali diameter.
3. 14159 adalah konstanta. Itu tidak pernah berubah.
Ini mewakili pi.
Jadi alangkah baiknya jika alih-alih menggunakan angka ajaib itu, kita bisa
menggunakan variabel dan memastikan bahwa variabel itu tidak pernah berubah.
Jadi ada alasan bagus
untuk menggunakan konstanta simbolis daripada hanya mengetikkan angka setiap saat.
Pertama, sebuah nama memberi tahu Anda lebih banyak daripada angka.
Hutang sama dengan 0. 015 kali nilai rumah
jauh lebih berarti daripada yang terutang sama dengan tarif pajak kali nilai.
Jadi kami ingin memiliki nama variabel yang mewakili angka
yang tidak pernah berubah.
Jika Anda membaca program yang
panjang, arti dari versi penglihatan kedua jauh lebih jelas.
Jauh lebih mudah untuk melihat kode itu dan memahami bahwa 0. 015 mewakili tarif pajak.
Misalkan Anda telah menggunakan konstanta di beberapa tempat
dan menjadi perlu untuk mengubah nilainya,
Anda harus pergi dan mengubah nilai itu di mana-mana dalam program
sebagai lawan hanya mengubah di satu tempat di mana Anda mendefinisikan konstanta itu.
Saya membicarakan hal ini sebelumnya ketika saya menggunakan istilah angka ajaib.
Itulah yang dimaksud.
Setiap kali Anda melihat nomor yang digunakan dalam program, itu tidak disimpan
dalam variabel, biasanya yang terbaik adalah membuat nomor itu dan memasukkannya ke dalam konstanta.
Karena jika Anda menggunakannya beberapa kali dan variabel itu
berubah, yang harus Anda lakukan hanyalah
mengubahnya sekali. Anda tidak perlu mengubahnya di mana pun Anda menggunakannya.
Jadi hindari angka ajaib, gunakan konstanta.
Salah satu cara Anda dapat mendefinisikan konstanta dalam c adalah Anda dapat
menggunakan untuk mendefinisikan direktif preprocessor.
Jadi direktif praprosesor ini memungkinkan Anda menentukan konstanta, dan
saya benar-benar menggunakannya dalam beberapa program. Saya sekarang mencoba membantu menjelaskannya.
Jadi jika Anda ingin melakukan tarif pajak dan
itu adalah konstanta, Anda bisa mengatakan define dengan tanda pound sebelumnya.
Kami tahu ini adalah arahan preprosesor karena tanda pound, dan
kemudian kami akan mengucapkan nama dan kemudian nilainya.
Saat program Anda dikompilasi, nilainya 0. 015 akan diganti
di mana pun Anda telah menggunakan tarif pajak,
seperti variabel tetapi sebenarnya bukan variabel.
Anda tidak dapat menetapkan nilai lain untuk itu.
Jika itu adalah variabel, Anda dapat menetapkan data
ke dalamnya, tetapi tidak dalam kasus ini karena ini adalah praprosesor.
Jadi arahan preprocessor mengatakan Anda tidak dapat menetapkan data
dan Anda menentukannya dengan definisi.
Jadi perhatikan sintaks untuk ini. Anda memiliki simbol pound diikuti oleh kata kunci yang ditentukan.
Dan kemudian setelah itu, Anda memiliki nama Anda.
Kami tidak menggunakan operator penugasan apa pun.
Kami hanya memiliki nama kami dan kemudian spasi dan kemudian nilainya.
Jadi untuk menetapkan nilai ke definisi itu, yang Anda butuhkan hanyalah spasi.
Tidak ada titik koma di akhir. Ini bukan pernyataan. Ini sangat spesifik.
Jadi yang terjadi di sini adalah ada substitusi waktu kompilasi yang
terjadi untuk preprosesor ini. Preprocessor berjalan sebelum compiler ingat.
Praprosesor akan berjalan dan akan melihat akar pembawa yang ditentukan ini. Dan kemudian di mana pun ia melihat tarif pajak,
itu hanya akan dimasukkan ke 0. 015 untuk kompiler.
Pernyataan yang ditentukan dapat muncul di mana saja dalam program.
Tidak ada yang namanya definisi lokal. Setelah Anda memiliki definisi, siapa pun
dapat menggunakannya.
Sekarang praktik atau konvensi terbaik biasanya meletakkan pernyataan yang ditentukan
di awal program atau di
dalam file sertakan jika Anda ingin berbagi di
lebih dari satu file sumber tetapi Anda tidak harus melakukannya.
Karena berjalan di preprocessor, ia tidak
memiliki cakupan apa pun, tidak memiliki lokal atau global.
Anda bisa meletakkannya di mana saja. Dan di mana saja dalam program Anda
dapat melihatnya, bahkan jika itu digunakan sebelum didefinisikan.
Pernyataan yang ditentukan juga sangat bagus karena membantu membuat program Anda lebih portabel.
Kadang-kadang Anda dapat menggunakan pernyataan yang ditentukan dan menghubungkannya ke komputer tertentu yang Anda jalankan ketika
program sedang berjalan, dan itu akan mendapatkan nilai yang sama.
Pernyataan yang ditentukan juga dapat digunakan untuk karakter dan konstanta string, bukan
hanya untuk angka. Jika kita ingin melakukan sesuatu seperti ini, sah-sah saja.
Anda cukup menyertakan karakter tunggal di dalam satu kutipan.
Dan jika Anda ingin benar-benar memasukkan seluruh string literal, Anda cukup
memasukkannya ke dalam tanda kutip ganda. Dan itulah yang oops lakukan.
Cara lain Anda dapat membuat konstanta dan melihat adalah mekanisme
yang lebih baru. C90 pada dasarnya menambahkan cara
lain yang menyediakan pengubah konstan.
Anda dapat menggunakan kata kunci konstan untuk mengubah deklarasi variabel menjadi deklarasi konstanta.
Dan ini akan memungkinkan Anda untuk tidak pernah dapat mengubah variabel itu. Jadi yang Anda lakukan hanyalah mengatakan
const dan kemudian beri nama tipe data dan kemudian nama variabelnya.
Dan apa yang dilakukan dalam contoh ini sekarang akan membuat bulan menjadi konstanta simbolis untuk 12.
Kami tidak menyebutnya variabel karena variabel bisa berubah,
itu sebabnya disebut variabel.
Anda memiliki konstanta atau
variabel dan konstanta dalam bulan bukanlah variabel, tidak berubah.
Constant membuat bulan menjadi nilai read-only.
Anda dapat menampilkan bulan dan menggunakannya dalam perhitungan. Anda tidak dapat mengubah nilai bulan.
Jadi konstanta penting jika Anda tidak ingin data berubah,
dan juga dapat menggantikan angka ajaib.
Const adalah pendekatan yang lebih baru dan lebih fleksibel daripada menggunakan define.
Ini memungkinkan Anda mendeklarasikan sebuah tipe.
Ini juga memiliki kontrol yang lebih baik atas
bagian program mana yang dapat menggunakan konstanta.
Jadi Anda harus menggunakan konstan kapan pun Anda bisa, tetapi Anda akan melihat
banyak program menggunakan yang ditentukan karena itu adalah mekanisme pertama.
Juga, ada cara ketiga Anda dapat membuat konstanta,
dan itu menggunakan enum. Ingat, kita berbicara tentang enum.
Enum adalah cara untuk membuat jenis variabel
Anda sendiri, dan hanya memiliki data tertentu yang terkait dengannya. Anda tidak dapat mengubah nilai enum.
Setelah Anda mendefinisikan enum, itu harus memiliki nilai-nilai itu.
Itu dapat memiliki nilai yang berbeda, tetapi
itu masih semacam cara untuk membuat konstanta simbolis, bukan cara yang lengkap, tetapi semacam cara.
Juga, dengan const, Anda dapat menginisialisasi array karakter dan mendeklarasikannya sebagai konstanta, itu
cara yang baik untuk menangani pesan standar.
Jadi, jika Anda mengatakan const char message sama dengan akhir dunia sudah dekat,
itu akan mendeklarasikan pesan sebagai konstan dan dilindungi agar tidak pernah
dimodifikasi secara eksplisit dalam program Anda. Setiap upaya untuk mencoba mengubah pesan dengan
melakukan salinan str akan menghasilkan pesan kesalahan dari kompilator.
Dan sekarang Anda dapat menggunakan ini untuk pesan standar yang
mungkin ditampilkan sebagai keluaran di berbagai bagian program.
Teknik untuk mendefinisikan pesan standar sangat berguna jika digunakan di
banyak tempat, seperti yang saya sebutkan.
Mencegah modifikasi yang tidak disengaja dari konstanta tersebut di bagian lain dari
program, seperti angka ajaib.
Jadi konstanta Anda ingin menggunakannya
dalam program Anda, dua cara untuk menggunakannya pada dasarnya,
menggunakan mendefinisikan dan menggunakan kata kunci konstan.
Tolong perhatikan ini.
Anda mungkin melihatnya di beberapa contoh yang akan datang.
Terima kasih.