Mengenal Apa itu Pointer?
Belajar Pemrograman Bahasa C
Setiap variabel yang kita buat pada program akan memiliki alamat memori.
Alamat memori berfungsi untuk menentukan lokasi penyimpanan data pada memori (RAM).
Alamat memori biasnya direpresentasikan dalam bilangan heksa desimal.
Contoh:
Coba perhatikan program berikut!
#include <stdio.h>
void main () {
int a;
char b[10];
printf("Alamat memori variabel a: %x\n", &a);
printf("Alamat memori variabel b: %x\n", &b);
}
Pada program tersebut, kita menggunakan simbol &
untuk mengambil alamat memori dari variabel a
dan b
.
Hasil outputnya:
Lalu apa hubungannya alamat memori dengan pointer?
Apa itu Pointer?
Pointer adalah sebuah variabel berisi alamat memori dari variabel yang lain.
Pointer seperti variabel pada umumnya, ia harus dideklarasikan atau dibuat dulu sebelum dapat digunakan.
Cara membuat pointer:
int *nama_pointer;
double *nama_pointer;
float *nama_pointer;
char *nama_pointer;
Pointer selalu diawali dengan tanda bintang (*
) di depannya. Simbol ini akan menandakan, kalau ini adalah sebuah pointer.
Tipe data yang digunakan pada pointer tergantung dari tipe data variabel yang akan menjadi referensinya.
Contoh:
float a = 4.12;
float *pa = &a;
Pointer *pa
akan menyimpan alamat memori dari variabel a
. Pointer *pa
juga akan bisa mengakses dan mengubah nilai dari variabel a
.
Cara Menggunakan Pointer
Ada beberapa langkah yang harus dilakukan saat menggunakan pointer:
- Membuat Pointer;
- Mengisinya dengan alamat memori;
- Mengakses nilai dari pointer.
Mari kita coba lihat contohnya:
#include <stdio.h>
void main () {
int x = 20; /* membuat variabel x */
int *px; /* membuat pointer untuk variabel x */
px = &x; /* mengisi alamat memori variabel x ke dalam pointer px */
printf("Alamat memori variabel x: %x\n", &x );
/* alamat memori yang disimpan pointer */
printf("Alamat memori di pointer px: %x\n", px );
/* mengambil nilai x menggunakan pointer */
printf("Nilai pada *px: %d\n", *px );
}
Hasilnya:
Lihatlah perpedaanya saat kita menggunakan pa
dan *pa
. pa
akan berisi alamat memori sedangkan *pa
akan berisi nilai dari variabel yang alamat memorinya tersimpan pada pointer pa
.
Melalui pointer, kita juga bisa mengubah nilai dari variabel x
.
Tidak percaya?
Mari kita coba…
#include <stdio.h>
void main () {
int x = 20; /* membuat variabel x */
int *px; /* membuat pointer untuk variabel x */
px = &x; /* mengisi alamat memori variabel x ke dalam pointer px */
printf("Alamat memori variabel x: %x\n", &x );
/* alamat memori yang disimpan pointer */
printf("Alamat memori di pointer px: %x\n", px );
/* mengambil nilai x menggunakan pointer */
printf("Nilai pada *px: %d\n", *px );
/* mencetak isi variabel x sebelum diubah*/
printf("Nilai x sebelum: %d\n", x );
/* mengubah isi nilai variabel x melalui pointer */
*px = 48;
/* mencetak isi variabel x sesudah diubah */
printf("Nilai x sesudah: %d\n", x );
}
Hasilnya:
Mengapa bisa begitu?
Karena pointer *px
memiliki alamat memori dari variabel x
jadi dia bisa melakukan apa saja dengannya.
Bermanfaat sekali, terimakasih
BalasHapusterimakasih 🙏🏻
HapusBermanfaat sekali makasih
BalasHapusterimakasih🙏🏻
Hapus💪💪
BalasHapusiya pak🙏🏻
HapusMantap kak blognya
BalasHapusmantap kak terimakasih
HapusMantap kak blognya
BalasHapusmakasih ya kak🙏🏻
HapusBermanfaat kali
BalasHapusmakasih kakju🙏🏻
Hapussangat bermanfaat sekali kakak ,terimakasihhh😁😁
BalasHapusteeimakasihh🙏🏻
HapusPelajaran yg sangat bermanfaat, thanks kakak...😁😁😁
BalasHapusalhamdulillah terimakasih 🙏🏻
HapusMantapp sih kak
BalasHapusmakasih kakk🙏🏻
HapusKomentar ini telah dihapus oleh administrator blog.
BalasHapusTerima kasih kak
BalasHapusiya terimakasih kak🙏🏻🙏🏻
HapusGood
BalasHapusterimakasi🙏🏻
HapusMamtap
BalasHapusterimakasi piki🙏🏻
Hapussangat membantu
BalasHapusterimakasii
HapusTerimakasihh, sungguh bermanfaat 👍🏻
BalasHapusalhamdulillah terimakasi
HapusSangat bermanfaat
BalasHapusmakasihh
HapusPas banget lagi butuh materi ini
BalasHapusalhamdulillah makasiiii
HapusTerimakasih membantu sekali
BalasHapussama sama ya!
Hapuskeren
BalasHapusmakasih
Hapussngat membatu
BalasHapusalhamdulillah
Hapusini bermanfaat banget
BalasHapussenengnya
Hapusmantap
BalasHapusasikk
HapusSangat membantu. Terimakasih
BalasHapusalhamdulillah terimakasih juga
HapusDengan mcdelivery gunakan kode GRATIS2AYAM Untuk pemesanan pada aplikasi MCDELIVERY INDONESIA
BalasHapusbeliin
HapusDengan mcdelivery gunakan kode GRATIS2AYAM Untuk pemesanan pada aplikasi MCDELIVERY INDONESIA
BalasHapusSangat bermanfaat
BalasHapusmakasiiih ya
HapusBermanfaat dan Bagus
BalasHapusterimakasih
HapusGoo ainna
BalasHapushehehe goo goo
HapusBermafaat lanjutin lagi👍👍👍
BalasHapusterimakasih sandhaa
HapusSemangat! Ini bermanfaat
BalasHapusterimakasihh!!
Hapussangat bermanfaat sekali, terima kasih
BalasHapusalhamdulillah terimakasihh
Hapusheheh terimakasihh
BalasHapusAPA? AKU IMUT? MAKASIH
BalasHapusengga:)
Hapusbagus👍🏻
BalasHapuswaw aiduds
BalasHapus