Wednesday, October 17, 2018

"Array & Pointer"

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. ("")

No comments:

Post a Comment