Menu
CoddyTech

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 null

Kata 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.

challenge icon

Tantangan

Mudah

Buat 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:

  1. Mendeklarasikan variabel integer bernama data dan menginisialisasinya dengan nilai 42
  2. Mendeklarasikan pointer bernama ptr
  3. Jika input adalah "valid", menetapkan alamat data ke ptr
  4. Jika input adalah "null", menetapkan nullptr ke ptr
  5. Menggunakan if-statement untuk memeriksa apakah ptr tidak null sebelum mencoba menggunakannya
  6. Jika pointer tidak null, mencetak nilai yang ditunjuknya
  7. Jika pointer null, mencetak pesan keamanan

Gunakan format output persis berikut:

Value: [value]

Untuk pointer null, gunakan format ini:

Pointer is null - cannot dereference

Coba 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;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C++ online