Pada kelas besar algo 17 Oktober 2018, saya mempelajari
tentang “Pointer & Array”.
Pointer merupakan variable yang menyimpan alamat dari variable
lainnya.
Syntax : <type> *ptr_name;
Kedua operator yang sering dipake untuk pointer : * (isi
dari) dan & (alamat dari)
Contoh :
Int i, *ptr; ptr = &i; maka ketika kita inisialisasi ptr
= 5 maka I juga akan menjadi 5
Kalau kita tidak inisialisasi nilai ptr, ketika kita print variable
ptr yang akan keluar ada alamat dari variable i
<Pointer to Pointer>
Pointer juga dapat digunakan untuk menyimpan alamat dari
pointer lainnya.
Contoh :
int i; *ptr, **ptr2; ptr = &I; ptr2 = **ptr
Ketika kita assign nilai ptr = 5, maka i =5, namun jika kita
assign ptr 2 = 9 maka, ptr dan i juga akan berubah menjadi 9 karena ptr2 membaca
nilai dari ptr dan ptr membaca nilai i
Note : ketika kita ingin membuat pointer dari pointer lainnya,
kita wajib menambahkan 1 * lebih banyak dari jumlah * pointer sebelumnya.
<Array>
Array merupakan kumpulan data yang dapat disimpan
menggunakan nama variable yang sama.
Karakteristik Array :
-
Homogen : semua elemen memiliki tipe data yang
sama
-
Random Access : elemen di dalam array bisa
diakses secara random, tidak harus berurutan. Karena setiap elemen dari array
terletak di address yang bersebelahan.
Syntax : type namavariabel
[jumlahvariabel]
Array 1 Dimensi
Ketika kita inisialisasi int a[10] maka variable a dapat
menampung 10 angka dari indeks 0 sampai 9. (a[0] sampai a[9]). Indeks terakhir
akan otomatis diisi oleh ‘ \0 ’ atau biasa disebut null. Null digunakan sebagai
penanda akhir dari array.
Array dapat diinisialisasi secara explisit tanpa deklarasi jumlah
variable.
int b[ ] = {1, 2 , -4, -8}; maka array b punya 4 elemen.
int b[8] = {1, 2 , -4, -8}; maka array b punya 8 elemen.
Sisa dari 4 elemen lainnya akan diisi oleh 0.
Ada 2 cara mengakses array : *(A+2) atau A[2]
A sama dengan A[0] atau elemen pertama di array.
Array 2 Dimensi
Syntax : type namavariabel
[baris][kolom]
Ketika diprint akan berbentuk sebagai tabel baris x kolom.
< Array Character / String>
Syntax : namaarray[banyakkarakter]
String merupakan array dari karakter yang diakhiri dengan
karakter null ( \0 ).
String biasanya ditulis diawal dan diakhiri dengan double quote. ("")