Showing posts with label pointer. Show all posts
Showing posts with label pointer. Show all posts

Saturday, April 15, 2017

Memahami pointer pada bahasa C

Pointer pada bahasa pemrograman C merupakan object yang menunjuk alamat dari sesuatu yang ditunjuk. Berbeda dengan variabel biasa, jika variabel biasa memuat nilai dari variabel tersebut (misal int a=5), maka pointer memuat nilai yang ditunjuk dari variabel berupa pointer tersebut.

Pointer merupakan kekuatan utama dari bahasa pemrograman C/C++ yang jarang dimiliki bahasa pemrograman lainnya. Dengan pointer kita bisa mengalokasikan memory secara dinamik dan meningkatkan performansi program khususnya untuk operasi yang berulang seperti akses nilai dari tabel, data string, dll. Pointer juga menghemat beban komputasi, yakni dengan me-reference/dereference (menginisiasi dan menghancurkan) suatu pointer daripada mengcopy/paste nilai suatu variabel.

Pointer dituliskan dengan menambahkan tanda bintang sebelum nama variabel dan setelah tipe variabel, misal: int * a; int* a; atau int *a. Referensi (address of, alamat dari) ditunjukkan dengan tanda ampersand (&), misal: &a. Penulisan pointer yang lebih disukai adalah int* a (bintang menyatu dengan tipe pointer).

Contoh 1: Pointer yang salah
Contoh pointer yang salah namun sangat berguna untuk memahami pointer adalah sebagai berikut.