Variabel const
Jadikan nilai hanya dapat dibaca.
Variabel const adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C Academy mencakup 4 pelajaran total.
Makna const
Kata kunci const memberi tahu kompilator bahwa nilai suatu variabel tidak boleh berubah setelah inisialisasi.
Jika Anda mencoba mengubahnya nanti, kompilasi akan gagal. Ini melindungi nilai yang seharusnya tetap.
const int MAX_USERS = 100;Mendeklarasikan const
Anda harus memberikan nilai kepada variabel const saat mendeklarasikannya, karena setelah itu Anda tidak dapat menetapkan nilai baru kepadanya.
Di sini PI diinisialisasi sekali dan digunakan seperti variabel biasa untuk dibaca.
#include <stdio.h>
int main(void) {
const double PI = 3.14159;
printf("%f\n", PI);
return 0;
}Mencoba Mengubah const
Menetapkan nilai kepada const setelah deklarasi merupakan error kompilasi.
Baris di bawah ini akan ditolak oleh kompilator, tepat seperti perlindungan yang kita inginkan.
const int LIMIT = 50;
/* LIMIT = 60; <- compile error */const Memiliki Tipe
Berbeda dari makro mentah, variabel const memiliki tipe nyata yang diperiksa kompilator.
Ini memberikan keamanan tipe: kompilator mengetahui bahwa RATE adalah double dan memperingatkan jika digunakan secara keliru.
#include <stdio.h>
int main(void) {
const double RATE = 0.05;
double total = 200.0 * RATE;
printf("%.2f\n", total);
return 0;
}const dengan Pointer: Data
Sifat const pada pointer memiliki dua bentuk. const int *p berarti data yang ditunjuk tidak dapat diubah melalui p.
Anda tetap dapat memindahkan p agar menunjuk ke tempat lain, tetapi tidak dapat menulis melalui p.
int x = 5;
const int *p = &x;
/* *p = 9; <- error: data is const */const dengan Pointer: Pointer
int *const p berarti pointer itu sendiri tidak dapat ditetapkan ulang, tetapi datanya dapat diubah.
Bacalah deklarasi dari kanan ke kiri: "p adalah pointer const ke int".
int x = 5, y = 8;
int *const p = &x;
*p = 9; /* allowed */
/* p = &y; <- error: pointer is const */Melindungi Argumen Fungsi
Menandai parameter penunjuk dengan const menjanjikan bahwa fungsi tidak akan mengubah data milik pemanggil.
Hal ini mendokumentasikan maksud dan memungkinkan kompilator mendeteksi penulisan yang tidak disengaja.
#include <stdio.h>
void show(const char *msg) {
printf("%s\n", msg);
}
int main(void) {
show("hello");
return 0;
}const dalam Perhitungan
Penggunaan yang umum adalah untuk nilai konfigurasi tetap, seperti tarif pajak atau faktor konversi.
Membaca konstanta membuat rumus tetap jelas dan menyimpan nilainya di satu tempat.
#include <stdio.h>
int main(void) {
const double KM_PER_MILE = 1.609;
double miles = 10.0;
printf("%.2f km\n", miles * KM_PER_MILE);
return 0;
}Const Memiliki Lokasi Memori
Karena const adalah variabel nyata, variabel ini menempati memori dan alamatnya dapat diambil.
Hal ini berbeda dari makro #define, yang merupakan penggantian teks murni tanpa alamat.
#include <stdio.h>
int main(void) {
const int N = 42;
const int *p = &N;
printf("%d\n", *p);
return 0;
}Cakupan dan Masa Hidup
const mengikuti aturan cakupan yang sama seperti variabel biasa.
Jika dideklarasikan di dalam fungsi, variabel tersebut bersifat lokal; jika dideklarasikan di luar fungsi, variabel tersebut bersifat global. Cakupan ini merupakan keunggulan lain dibandingkan makro yang mencakup seluruh berkas.
#include <stdio.h>
const int GLOBAL_MAX = 1000;
int main(void) {
const int local_min = 1;
printf("%d %d\n", local_min, GLOBAL_MAX);
return 0;
}const dan Angka Ajaib
Mengganti angka mentah dalam kode Anda dengan nilai const bernama menghilangkan "angka ajaib".
Jika nilainya berubah, Anda cukup mengedit satu baris, bukan mencarinya di seluruh program.
#include <stdio.h>
int main(void) {
const int SECONDS_PER_MIN = 60;
int minutes = 5;
printf("%d seconds\n", minutes * SECONDS_PER_MIN);
return 0;
}Pemeriksaan Singkat
Periksa pemahaman Anda tentang perilaku const.
Ringkasan
Variabel const adalah nilai bertipe yang hanya dapat dibaca dan dilindungi kompilator agar tidak berubah.
Variabel ini memiliki tipe, cakupan, dan alamat, berbeda dari makro. Pada penunjuk, const dapat berlaku untuk data, penunjuk, atau keduanya. Selanjutnya kita akan membandingkannya dengan #define.
Belajar C dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 39
- Pelajaran
- 144
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Variabel const” gratis?
Ya — teks lengkap “Variabel const” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C Academy, upgrade ke CoddyKit PRO. Kursus C Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Variabel const”?
Jadikan nilai hanya dapat dibaca. Kamu berlatih C Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C Academy?
Tidak diperlukan pengalaman sebelumnya. C Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Variabel const” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C Academy ini?
Ya. Setiap pelajaran C Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.