Pointer Null
Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 4 dari 56.
Saat kamu mendeklarasikan pointer, pointer tersebut tidak otomatis menunjuk ke sesuatu yang bermakna. Pointer yang belum diinisialisasi berisi alamat memori acak, yang dapat menyebabkan error serius jika kamu mencoba menggunakannya. Di sinilah pointer null menjadi penting untuk pemrograman yang aman.
Pointer null adalah pointer yang secara eksplisit menunjuk ke ketiadaan. Dalam C++ modern, kamu membuat pointer null dengan menginisialisasinya menggunakan nullptr:
int* ptr = nullptr; // ptr sekarang adalah pointer nullKata kunci nullptr menunjukkan bahwa pointer tidak menunjuk ke lokasi memori yang valid. Ini jauh lebih aman daripada membiarkan pointer tidak diinisialisasi, karena kamu dapat memeriksa apakah pointer bernilai null sebelum mencoba melakukan dereferensi.
Sebelum menggunakan pointer apa pun, kamu harus memastikan pointer tersebut tidak null dengan pernyataan if sederhana:
if (ptr != nullptr) {
// Kamu bisa menggunakan *ptr dengan aman di sini
int value = *ptr;
}Latihan ini mencegah programmu crash akibat mengakses lokasi memori yang tidak valid. Selalu inisialisasi pointer dengan nullptr saat kamu mendeklarasikannya, dan periksa apakah nilainya null sebelum melakukan dereferensi.
Tantangan
MudahBuat program yang menunjukkan penggunaan pointer secara aman dengan memeriksa pointer null sebelum melakukan dereferensi.
Input berikut akan diberikan:
- Sebuah string yang berisi
"valid"atau"null"
Programmu harus:
- Mendeklarasikan variabel integer bernama
datadan menginisialisasinya dengan nilai42 - Mendeklarasikan pointer bernama
ptr - Jika input adalah
"valid", menetapkan alamatdatakeptr - Jika input adalah
"null", menetapkannullptrkeptr - Menggunakan if-statement untuk memeriksa apakah
ptrtidak null sebelum mencoba menggunakannya - Jika pointer tidak null, mencetak nilai yang ditunjuknya
- Jika pointer null, mencetak pesan keamanan
Gunakan format output persis berikut:
Value: [value]Untuk pointer null, gunakan format ini:
Pointer is null - cannot dereferenceCoba sendiri
#include <iostream>
#include <string>
using namespace std;
int main() {
// Baca input
string input;
cin >> input;
// Deklarasikan variabel data
int data = 42;
// TODO: Tulis kodemu di sini
// - Deklarasikan pointer bernama ptr
// - Periksa input dan berikan nilai yang sesuai kepada ptr
// - Gunakan pernyataan if untuk memeriksa dan menggunakan pointer dengan aman
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Pointer dan Memori
Apa Itu Pointer?Operator Address-OfOperator DereferencePointer NullPointer dan ArrayMemori Dinamis dengan 'new'Membebaskan Memori dengan 'delete'Rangkuman: Latihan Pointer2Vektor (array Dinamis)
Memperkenalkan std::vectorMembuat VektorMenambahkan ElemenMengakses ElemenUkuran VektorIterasi dengan for loopFor loop Berbasis RentangMenghapus ElemenRangkuman: Operasi VektorLatihan sendiri: Compiler C++ online