Menu
CoddyTech

Pointer dan Array

Pelajaran 6 dari 14 dalam kursus Pointer C++ di Coddy.

Sekarang setelah kamu mempelajari pointer konstan dan pointer ke konstanta, serta mengetahui perbedaannya, kita bisa melanjutkan ke hubungan antara pointer dan array.

Saat kita mendeklarasikan array, nama array sebenarnya adalah pointer konstan ke nilai yang tidak konstan. Jadi, alamat yang ditunjuk pointer bersifat konstan dan tidak bisa diubah, sedangkan nilai yang disimpannya bisa diubah. 

Jika kita memiliki int list[10];, di sini list sebenarnya bertipe int * const, dan list sebenarnya memiliki nilai yang sama dengan &list[0]


int list[] = {10, 20, 30, 40, 50};
cout << "First: " << *list << endl;
cout << "Third: " << *(list + 2) << endl;
int *ptr = list;
cout << "First again: " << *ptr;
Output:
First: 10
Third: 30
First again: 10

Seperti yang kamu lihat, kita bisa menggunakan nama array list sebagai pointer ke elemen pertama dan melakukan tugas yang kita perlukan. Satu-satunya kekurangan saat menggunakan pointer array itu sendiri adalah kita tidak bisa mengubahnya. Namun, saat kita membuat pointer ptr yang menunjuk ke memori yang sama dengan list, kita bisa mengubah lokasinya nanti di dalam program, misalnya:


int list[] = {10, 20, 30, 40, 50};
int *ptr = list;
for(int i = 0; i < 5; i++)
    cout << *ptr++ << " ";
Output:
10 20 30 40 50

quiz iconUji dirimu

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

quiz iconUji dirimu

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

quiz iconUji dirimu

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

challenge icon

Tantangan

Mudah

Jangan ubah kode bawaan apa pun. Sebuah array bernama numbers telah dibuat. Gunakan pointer numbers dan dereferensi untuk mencetak semua elemen genap di dalam array, pisahkan dengan spasi.

Coba sendiri

#include <iostream>

using namespace std;

int main() {
    // JANGAN UBAH KODE DI BAWAH INI
    int n, x;
    cin >> n;
    int numbers[n];
    for(int i = 0; i < n; i++)
        cin >> numbers[i];
    // JANGAN UBAH KODE DI ATAS INI

    // Tulis kodemu di sini

    return 0;
}

Semua pelajaran di Pointer C++

Latihan sendiri: Compiler C++ online