Home / Pemrograman / C / Pointer Dalam Bahasa C (Penting Untuk Anda Ketahui)

Pointer Dalam Bahasa C (Penting Untuk Anda Ketahui)

Pointer Dalam Bahasa C

Pada bahasa C terdapat istilah pointer, yang mungkin tidak terdapat pada beberapa bahasa pemrograman lainnya. Pointer ini merupakan penunjuk alamat memori. Artinya, dengan menggunakan pointer ini kita dapat menyimpan data pada alamat memori tententu. Salah satu perbedaan dengan menggunakan variabel adalah jika menggunakan variabel maka data akan disimpan pada alamat memori yang telah ditentukan oleh compiler (acak). Namun jika kita menggunakan pointer maka data dapat kita tentukan akan disimpan di alamat tertentu pada memori.
Pendeklarasian pointer dapat dituliskan dengan code seperti di bawah ini.

int *p1 // Deklarasi pointer

Untuk pendeklarasian pointer kita harus menyertakan tanda bintang di depan nama pointernya. Tanda bintang tersebut yang akan membedakan antara pointer dan variabel.
Perlu diketahui jika kita mendeklarasikan pointer, maka isi dari pointer tersebut nantinya adalah alamat memori. Sehingga jika kita ingin mengisi pointer tersebut dengan data, maka kita harus mendefinisikan alamat memorinya terlebih dahulu. Contoh kasus sederhana seperti di bawah ini. Saya ingin mengisi data pada alamat yang ditunjuk oleh pointer p1 dengan nilai 100 kemudian diisi kembali dengan nilai 35. Untuk melakukan hal tersebut Anda dapat menuliskan sourcecode seperti di bawah ini.

#include <stdio.h>
#include <stdlib.h>

int main() {
 int *p1; // Ini adalah deklarasi pointer
 int a = 100; // Ini adalah deklarasi variabel dengan nilai awal = 100
 // Perhatikan baris di bawah ini untuk mengisi data pada pointer
 p1 = &a; // Pada baris ini akan dilakukan proses penyalinan alamat memori dari alamat memori variabel a ke pointer p1.
 // Setelah proses penyalinan alamat memori diatas, maka alamat memori p1 akan sama dengan alamat memori dari variabel a
 // Sehingga data pada pointer p1 akan sama dengan data pada variabel a yaitu = 100
 // Untuk menampilkan data dari pointer p1 perhatikan kode di bawah ini
 printf("Alamat memori pointer p1 = %xn",p1); // Jika yang ditampilkan adalah "p1" maka nilai yang akan ditampilkan di layar adalah alamat dari pointer "p1"
 printf("Isi data pada alamat pointer p1 = %dnn",*p1); // Jika yang ditampilkan adalah "*p1" maka nilai yang akan ditampilkan di layar adalah isi data pada alamat memori pointer "p1"
 *p1 = 35; // Mengisi pointer dengan data, gunakan tanda * di depan nama pointernya jika ingin mengisi data pada pointer
 // Jangan pernah melakukan pengisian data pada pointer sebelum mendefinisikan dahulu alamatnya karena nantinya akan terjadi error
 printf("Kondisi pointer p1 setelah diisi data yang barunn");
 printf("Alamat memori pointer p1 = %xn",p1); 
 printf("Isi data pada alamat pointer p1 = %dnn",*p1); 
 system("pause");
 return 0;
}

Sebelum mengisi pointer dengan data, kita harus mendefinisikan terlebih dahulu alamat memori dari pointer tersebut. Kita dapat menggunakan variabel bantu untuk melakukan hal tersebut. Alamat dari variabel tersebut nantinya kita copy-kan ke pointer, seperti di bawah ini.

p1 = &a;

Setelah anda mendefinisikan alamat pointernya, anda dapat mengisi data pointer tersebut. Untuk mengisi data gunakan tanda bintang (*) di depan nama pointer.

*p1 = 35;

Ingat perbedaan mengisi alamat dan mengisi data pada pointer ada pada tanda bintang di depan nama pointer. Jika menggunakan tanda bintang itu artinya kita mengisi data, namun jika tidak menggunakan tanda bintang itu artinya kita mengisi alamat memori. Begitu juga dengan menampilkan nilai di layar monitor, jika kita menyertakan tanda bintang maka yang akan ditampilkan adalah data dari alamat memori yang ditunjuk pointer, namun jika tidak menggunakan tanda bintang maka yang akan ditampilkan adalah alamat memori dari pointer tersebut.
Setelah program dijalankan maka hasilnya akan seperti di bawah ini.

Pointer Dalam Bahasa C
Pointer Dalam Bahasa C

Semoga penjelasan tentang pointer dalam bahasa c ini cukup bermanfaat bagi Anda

About Eko Rudiawan

Seorang lelaki yang punya ketertarikan dengan dunia elektronika dan robot yang saat ini sedang serius belajar tentang dunia bisnis dan internet marketing. My dream to be success technopreneur

Check Also

Software Bahasa C Di Linux Untuk Belajar Pemrograman

Software Bahasa C Di Linux Belajar bahasa pemrograman C tidak hanya bisa dilakukan pada sistem …

2 comments

  1. tulisan yang anda buat sangat menarik, aku punya link juga tentang topik yang kamu bahas, kamu bisa kunjungi aku di
    http://repository.gunadarma.ac.id80/bitstream/123456789/1119/1/11107904.pdf

Leave a Reply

Your email address will not be published. Required fields are marked *

5 × four =