C Academy · Pelajaran

Variabel const

Jadikan nilai hanya dapat dibaca.

Pelajaran 3 dari 413 langkah

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.

Gratis untuk memulai

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.

Semua pelajaran dalam kursus ini

  1. Mendefinisikan Enum
  2. Nilai dan Rentang Enum
  3. Variabel const
  4. Konstanta #define
← Kembali ke C Academy