Pointer & Macro
Merupakan
sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer
dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu
variabel dapat diketahui dengan mudah
Operator Pointer
1. Operator dereference ( & )
2. Operator reference ( * )
- Operator dereference ( & )
Operator ini biasa disebut dengan “address of”
atau operator alamat. Dengan menggunakan operator dereference(&) ini, suatu
variabel akan menghasilkan alamat lokasi memori.
Untuk lebih jelasnya lihat gambar berikut
Contoh Program Operator Dereference
Input :
/*Penggunaan pointer Dereferende*/
#include <iostream>
#include <conio>
main()
{
int ilham,*raka,amir;
ilham=75;
raka=&ilham; /*Nilai variabel raka adalah merupakan alamat memori dari nilai ilham*/
amir=ilham;
cout<<"Nilai ilham adalah "<<ilham<<endl;
cout<<"Nilai raka adalah "<<raka<<endl;
cout<<"Nilai Amir adalah "<<amir<<endl;
getch();
}
Tampilan
- Operator reference ( * )
Operator ini biasa disebut dengan “value pointed by”. Dengan
menggunakan operator reference (*) ini, menghasilkan nilai yang berada pada
suatu alamat memori.
Untuk lebih jelasnya lihat gambar berikut.
Contoh Program Operator Reference :
Input :
/*Penggunaan pointer reference*/
#include <iostream>
#include <conio>
main()
{
int ilham,*raka,rafli;
ilham=75;
raka=&ilham; /*Nilai variabel raka adalah merupakan alamat memori dari nilai ilham*/
rafli=*raka;
cout<<"Nilai ilham adalah "<<ilham<<endl;
cout<<"Nilai raka adalah "<<raka<<endl;
cout<<"Nilai Rafli adalah "<<rafli<<endl;
getch();
}
Tampilan
- Penggunaan Pointer
Dapat digunakan untuk mendeklarasikan variabel bertipe data
string tanpa harus dideklarasikan batasan karakternya.
Dapat digunakan dalam penggunaan FUNGSI yaitu saat
pemanggilan secara nilai dan refernsi.
Contoh Program dengan Pointer
Input : // -----------------------------//
//Penggunaan Pointer to Pointer //
//------------------------------//
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int ilham;
int *raka; //pointer ke variabel
int **amir; //pointer pada pointer
clrscr( );
ilham = 75;
cout<<"Nilai ILHAM =
"<<ilham<<endl;
//-> Penugasan Ke Alamat Memori
raka = &ilham;
amir = &raka;
cout<<"Nilai RAKA Hasil Mengakses ILHAM = ";
cout<<*raka<<endl;
cout<<"Nilai AMIR Hasil Mengakses ILHAM = ";
cout<<**amir<<endl;
getch( );
}
Tampilan
Macro
Dan File Header
Didalam penyusunan suatu makro ada beberapa hal yang perlu
dipelajari adalah:
- Preprocessor Directives
Preprocessor directive merupakan suatu perintah yang
termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri,
tetapi untuk preprocessor. Preprocessor ini dijalankan secara otomatis oleh
kompiler, ketika didalam proses penterjemahan (Compile) program berlangsung,
didalamnya membuat nilai pembuktian pertama dan menterjemahkan code program
didalam kode objek. Didalam penggunaan preprocessor directive selalu dimulai
dengan tanda : #
Ada beberapa preprocessor directive, diantaranya adalah:
# define
Digunakan untuk mendefinisikan suatu nilai tertentu kepada
suatu nama konstanta. Bentuk umum dari preprocessor directive #define ini
adalah:
- #define nama_konstanta teks
Dalam pendeklarasian
preprocessor directive #define, Nama_Konstanta sebaiknya ditulis dengan
menggunakan huruf besar, guna untuk membedakannya dengan nama_variabel.
Sedangkan Teks merupakan suatu nilai yang diberikan pada nama_konstanta. Teks
dapat berupa:
• Numerik contoh: #define PI 3.14
• Karakter contoh: #define HURUF „B‟
• String contoh: #define JABATAN “INSTRUCTOR”
• Pernyataan contoh: #define CETAK (“Borland C++”)
• Fungsi Sederhana contoh: #define LUAS_KUBUS (n*n)
Setelah #define
ditentukan didalam program cukup dituliskan nama_konstantanya saja. # define
akan mengganti semua nama konstanta tadi dengan teksnya sebelum proses
kompilasi dimulai.
Contoh Program
Input
/*
----------------------------------- */
/* Program Penggunaan #define */
/* ------------------------------------ */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#define PI 3.141592
#define L(n) PI*n*n
main( )
{
clrscr();
cout<<"Luas Lingkaran dengan :
"<<endl;
cout<<"Jari-jari = 5 adalah
"<<L(5)<<endl;
cout<<"Jari-jari = 10 adalah
"<<L(10)<<endl;
getche( );
}
Tampilan
Sumber Referensi Blog kunjungi
0 Comment to "Pointer & Macro"
Posting Komentar