Isi kandungan:
- Pengisytiharan pemalar
- Menggunakan pemalar dalam kod anda
- Perkara-perkara lain yang anda boleh #define
Video: JANGAN UCAPKAN 5 Kalimat ini SAAT INTERVIEW KERJA! 2024
Konstanta boleh sangat berguna dalam pengaturcaraan C apabila anda mempunyai nilai yang diulang dalam program anda. Mendeklarasikan pemalar membolehkan anda dengan cepat dan mudah mengubah nilai yang digunakan sepanjang kod anda dengan mengubah perisytiharan.
Pengisytiharan pemalar
Tidak seperti pembolehubah, pemalar diisytiharkan menggunakan preprocessor bahasa C dan bukan pengkompil. Inilah format:
#define VOTING_AGE 18
Arahan #define adalah perintah preprocessor. Ia diikuti dengan nama simbol yang ditakrifkan, VOTING_AGE. Simbol-simbol ini dinamakan sebagai pembolehubah, walaupun menggunakan SEMUA CAP untuk pemalar membolehkan anda mengenal pasti pemalar versus pembolehubah dalam kod sumber anda dengan mudah. Simbolnya mestilah satu perkataan. Berikutan simbol adalah ruang dan kemudian nilai simbol itu mewakili. Tidak ada tanda yang sama!
Jangan masukkan titik koma bertitik melainkan anda mahu titik koma menjadi sebahagian daripada pemalar (dan anda mungkin tidak).
Preprocessor mengambil simbol dan melakukan operasi mencari-dan-ganti di seluruh kod anda, menggantikan simbol dengan apa yang diwakilinya. Pada akhirnya, "malar" menjadi nilai segera. Dan, dengan menggunakan #define untuk membuat pemalar, anda memberi diri anda fleksibiliti untuk dengan mudah mengubahnya kemudian.
Menggunakan pemalar dalam kod anda
Pengekalan malar biasanya mengikuti arahan #include di bahagian atas kod sumber C:
#include #define SPEEDLIMIT 55 #define RATE 15 #define FIRST_TICKET 85 #define SECOND_TICKET 95 #define THIRD_TICKET 100 int main () {int total, denda, mempercepat; meletakkan ("Mempercepatkan Tiket"); / * tiket pertama * / mempercepatkan = FIRST_TICKET - SPEEDLIMIT; denda = laju * KADAR; jumlah = jumlah + denda; printf ("Untuk pergi% d dalam zon% d: $% dn", FIRST_TICKET, SPEEDLIMIT, denda); / * tiket kedua * / mempercepatkan = SECOND_TICKET - SPEEDLIMIT; denda = laju * KADAR; jumlah = jumlah + denda; printf ("Untuk pergi% d dalam zon% d: $% dn", SECOND_TICKET, SPEEDLIMIT, denda); / * tiket ketiga * / mempercepatkan = THIRD_TICKET - SPEEDLIMIT; denda = laju * KADAR; jumlah = jumlah + denda; printf ("Untuk pergi% d dalam zon% d: $% dn", THIRD_TICKET, SPEEDLIMIT, denda); / * Jumlah paparan * / printf ("nTotal dalam denda: $% dn", jumlah); kembali (0);}
Taipkan ini ke dalam editor anda, simpan, kumpulkannya, dan jalankannya.
Katakan anda telah menyelesaikan program ini, tetapi majlis tempatan mengubah had laju dari 55 mph ke 60 mph. Juga, denda telah melonjak dari $ 15 hingga $ 26 untuk setiap mil per jam anda mempercepatkan had.Kerana anda menggunakan pemalar, anda boleh membuat perubahan itu dalam satu tempat dan minta mereka menetes ke seluruh kod.
Dalam kes ini, anda akan mengubah perisytiharan anda yang tetap ini:
#define SPEEDLIMIT 60 #define RATE 26
Perkara-perkara lain yang anda boleh #define
Arahan #define tidak terhad hanya untuk membuat pemalar untuk anda. Anda boleh menentukan apa-apa dengan arahan #define, pada dasarnya menggantikan sebahagian besar program anda dengan apa sahaja yang anda mahukan. Contoh yang baik apabila anda mungkin ingin melakukan ini mungkin seperti ini:
#define ASK_PROMPT printf ("Adakah Anda Ingin Teruskan (Y / N)?");
Dengan cara ini, programmer hanya boleh menaip ASK_PROMPT dalam kod, yang digantikan secara global dengan pernyataan printf () apabila kod dikompilkan. (Sebagai bonus, pengaturcara boleh membetulkan setiap permulaan secara universal dengan mengubah suai #define tunggal.)