Menu
CoddyTech

Pointer dan Array

Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 5 dari 56.

array dan pointer memiliki hubungan khusus dalam C++. Saat kamu mendeklarasikan array, nama array sebenarnya berfungsi sebagai pointer ke elemen pertama array tersebut. Hubungan ini memungkinkan kamu menggunakan pointer untuk bekerja dengan array dengan cara yang efektif.

Perhatikan deklarasi array ini:

int numbers[5] = {10, 20, 30, 40, 50};
int* ptr = numbers;  // ptr sekarang menunjuk ke numbers[0]

Di sini, numbers setara dengan &numbers[0], keduanya memberimu alamat elemen pertama. Pointer ptr kini menunjuk ke lokasi yang sama.

Setelah memiliki pointer ke array, kamu bisa menggunakan aritmetika pointer untuk menavigasi elemen-elemennya. Menambahkan 1 ke pointer akan memindahkannya ke elemen berikutnya dengan tipe yang sama:

ptr++;        // Sekarang menunjuk ke numbers[1]
ptr = ptr + 2; // Sekarang menunjuk ke numbers[3]

Kamu dapat melakukan dereferensi pointer pada posisi mana pun untuk mengakses nilainya: *ptr memberimu nilai pada posisi saat ini, dan *(ptr + 1) memberimu nilai elemen berikutnya.

Hubungan pointer-array ini memungkinkan kamu menelusuri array menggunakan pointer, bukan perulangan berbasis indeks tradisional, sehingga menawarkan pendekatan alternatif untuk menelusuri array.

challenge icon

Tantangan

Mudah

Buat program yang menggunakan pointer untuk mengiterasi array dan mencetak setiap elemennya, sehingga menunjukkan hubungan antara pointer dan array.

Kamu diberi array berikut:

int values[6] = {15, 23, 8, 42, 17, 31};

Programmu harus:

  1. Membuat pointer bernama ptr yang menunjuk ke elemen pertama dari array values
  2. Menggunakan aritmetika pointer untuk mengiterasi semua 6 elemen array
  3. Mencetak setiap elemen dengan melakukan dereferensi pointer pada setiap posisi
  4. Memindahkan pointer ke elemen berikutnya menggunakan aritmetika pointer (menambah nilai pointer)

Cetak setiap elemen pada baris terpisah dengan format berikut:

Element: [value]

Output harus menampilkan semua 6 elemen dalam urutan kemunculannya di array, yang diakses melalui dereferensi pointer, bukan melalui pengindeksan array.

Coba sendiri

#include <iostream>
using namespace std;

int main() {
    // Array yang diberikan
    int values[6] = {15, 23, 8, 42, 17, 31};
    
    // TODO: Buat pointer bernama 'ptr' yang menunjuk ke elemen pertama array
    
    // TODO: Gunakan perulangan untuk mengakses semua 6 elemen dengan aritmetika pointer
    // TODO: Cetak setiap elemen dengan melakukan dereferensi pada pointer
    // TODO: Pindahkan pointer ke elemen berikutnya dengan aritmetika pointer
    
    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