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: 10Seperti 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 50Pelajaran 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
MudahJangan 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++
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