Pointer Konstan
Pelajaran 5 dari 14 dalam kursus Pointer C++ di Coddy.
Pointer konstan adalah pointer yang nilainya, yaitu alamat memori yang ditunjuknya, tidak dapat diubah setelah inisialisasi. Namun, nilai di lokasi memori yang ditunjuknya dapat diubah. Ada dua jenis pointer utama saat kita membahas pointer konstan
- Pointer ke nilai konstan: menunjuk ke nilai konstan
- Pointer konstan: selalu menunjuk ke suatu nilai
Jadi, apa perbedaannya
1. Pointer ke Nilai Konstan
Jenis pointer ini menunjuk ke nilai konstan. Nilainya tidak dapat diubah melalui pointer. Artinya, ini adalah pointer biasa yang hanya menunjuk ke nilai konstan. Dengan pointer ini, alamat yang ditunjuknya dapat diubah.
int a = 5, b = 10;
// Pointer ke int yang konstan
int const * ptr = &a;
// Ini diperbolehkan:
ptr = &b; // Mengubah alamat
// Ini tidak diperbolehkan:
*ptr = 10; // Mencoba mengubah nilai konstan2. Pointer Konstan
Pointer konstan menunjuk ke nilai yang tidak konstan, tetapi pointer itu sendiri tidak dapat diubah agar menunjuk ke alamat lain. Alamat yang ditunjuknya bersifat konstan.
int a = 5, b = 10;
// Pointer konstan ke int
int * const ptr = &a;
// Ini diperbolehkan:
*ptr = 10; // Mengubah nilai non-const
// Ini tidak diperbolehkan:
ptr = &b; // Mencoba mengubah alamat konstanSeperti yang kamu lihat, kata kunci const diletakkan sebelum * untuk pointer ke nilai konstan dan setelah * untuk pointer konstan ke nilai yang tidak konstan. Kita juga dapat menggabungkan keduanya dan membuat pointer konstan ke nilai konstan. Caranya dengan menggunakan dua kata kunci const, sebelum dan setelah tanda bintang, tetapi kita jarang memerlukan susunan seperti itu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Tantangan
MudahBaca dua angka dari input, buat pointer konstan constPtr dan pointer ke nilai konstan ptrConst, inisialisasi constPtr agar menunjuk ke angka pertama, lalu ubah nilainya menjadi angka kedua, dan atur alamat ptrConst agar menunjuk ke angka kedua
Coba sendiri
#include <iostream>
using namespace std;
int main() {
// Masukkan kodemu di sini
// JANGAN UBAH KODE DI BAWAH INI
cout << "a = " << a << endl;
cout << "b = " << b << endl;
if(&a == constPtr)
cout << "&a == constPtr" << endl;
if(&b == ptrConst)
cout << "&b == ptrConst" << endl;
return 0;
}Semua pelajaran di Pointer C++
1Dasar-Dasar Pointer
Pengenalan PointerDeklarasi dan InisialisasiAritmetika: PenugasanAritmetika: OperasiPointer KonstanPointer dan Array3Alokasi Memori Dinamis
Operator new & deleteKebocoran Memoriarray DinamisPenyisipan pada array DinamisLatihan sendiri: Compiler C++ online