Pointer pada Bahasa C -Penggunaan pointer merupakan salah satu dasar dari pemrograman bahasa C. Dengan ini kita dapat menunjuk pada alamat memori dari suatu vareabel. Untuk penjelasan lebih lanjut langsung saja menuju pada materi berikut.
Pointer pada Bahasa C |
DEFINISI POINTER
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua.
Operator Pointer ada dua, yaitu :
a. Operator &(Operator Diference)
1. Operator & bersifat unary (hanya memerlukan satu operand saja).
2. Operator & menghasilkan alamat dari operandnya.
b. Operator *(Operator Reference)
1. Operator * bersifat unary (hanya memerlukan satu operand saja).
2. Operator * menghasilkan nilai yang berada pada sebuah alamat.
Pointer : variabel yang berisi alamat memori
Bentuk Umum: Type *variabel name;
Keterangan:
Type adalah tipe dasar pointer
Variabel name adalah nama variabel pointer
* adalah operator memori untuk mengembalikan nilai variabel pada alamatnya yang ditentukan oleh operand.
Contoh penggunaan pointer:
#include <iostream.h>
//cetak p dan *p
int main()
{
int v = 7, *p;
p = &v;
cout<<"Nilai v = "<<v<<" dan *p = "<<*p;
cout<<"Alamatnya = "<<p<<endl;
}
Operasi Aritmatika
Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan. Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya) dalam memori. Begitu juga operasi pengurangan.
Contoh:
#include <stdio.h>
#include <conio.h>
int main()
{
int nilai [3], *penunjuk;
nilai [0] = 125;
nilai [1] = 345;
nilai [2] = 750;
penunjuk = &nilai[0];
printf("Nilai %i ada di alamat memori %p\n", *penunjuk, penunjuk);
printf("Nilai %i ada di alamat memori %p\n", *(penunjuk+1), penunjuk+1);
printf("Nilai %i ada di alamat memori %p\n", *(penunjuk+2), penunjuk+2);
getch();
}
Operator LogikaContoh:
#include <stdio.h>
#include <conio.h>
int main()
{
int a = 100, b = 200, *pa, *pb;
pa = &a;
pb = &b;
if(pa < pb)
printf("Pointer a menunjuk ke memori lebih rendah dari pointer b \n");
if(pa == pb)
printf("Pointer a menunjuk ke memori yang sama dengan pointer b \n");
if(pa > pb)
printf("Pointer a menunjuk ke memori yang lebih tinggi dari pointer b \n");
getch();
}
Keunggulan menggunakan Pointer: 1. Untuk menciptakan data struktur yang kompleks
2. Memungkinkan suatu fungsi untuk menghasilkan lebih dari satu nilai
3. Memiliki kemampuan untuk mengirimkan alamat suatu fungsi ke fungsi yang lain
4. Penanganan terhadap array dan string akan lebih singkat dan efisien
5. Memungkinkan untuk berhubungan langsung dengan parameter command line
6. Kemampuan bekerja dengan memori telah dialokasikan secara dinamik
Berikut merupakan penjelasan mengenai dasar-dasar dari pointer dalam bahasa C. Terima kasih atas kunjungannya di blog sederhana Wendy Cahya. Salam sukses sob!!
Posting Komentar