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. Ada 2 operator pointer yang dikenal secara luas, yaitu operator & dan operator *. Operator & merupakan operator alamat. Pada saat pendeklarasian variable, user tidak diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time. Jika ingin mengetahui dimana suatu variable akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable , yang berarti "address of". Contoh : ted = &andy; Penulisan tersebut berarti akan memberikan variable ted alamat dari variable andy. Karena variabel andy diberi awalan karakter ampersand (&), maka yang menjadi pokok disini adalah alamat dalam memory, bukan isi variable. Misalkan andy diletakkan pada alamat 1776 kemudian dituliskan instruksi sbb : andy = 25; fred = andy; ted = &andy; Operator * merupakan operator reference. Dengan menggunakan pointer, kita dapat mengakses nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier pointer, yang berarti "value pointed by". Contoh : beth = *ted; (dapat dikatakan:"beth sama dengan nilai yang ditunjuk oleh ted") beth = 25, karena ted dialamat 1776, dan nilai yang berada pada alamat 1776 adalah 25. Ekspresi dibawah ini semuanya benar, perhatikan : andy = 25; &andy = 1776; ted = 1776; *ted = 25; Ekspresi pertama merupakan assignation bahwa andy = 25;. Kedua, menggunakan operator alamat (address/derefence operator (&)), sehingga akan mengembalikan alamat dari variabel andy. Ketiga bernilai benar karena assignation untuk ted adalah ted = &andy;. Keempat menggunakan reference operator (*) yang berarti nilai yang ada pada alamat yang ditunjuk oleh ted, yaitu 25. Maka ekspresi dibawah ini pun akan bernilai benar : *ted = andy; Seperti halnya variabel lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. Bentuk umum deklarasi pointer adalah : Dimana Tipe_data 1. Mensubstitusikan address sebuah variabel ke pointer dengan memakai address operator & int x; 2. Mensubstitusikan address awal sebuah array ke pointer char t[5]; 3. Mensubstitusikan address salah satu elemen array dengan address operator char t[5] ; 4. Mensubstitusikan address awal character string ke pointer char char *ptr; 5. Mensubstitusikan NULL pada pointer. NULL ada pointer kosong, menunjukkan suatu status dimana pointer itu belum diinisialisasikan dengan sebuah address tertentu. 6. Memakai fungsi MALLOC.Pengertian Pointer
Operator Pointer
Operator &
Operator *
Deklarasi Pointer
merupakan tipe dari data yang ditunjuk, bukan tipe dari pointer-nya. Contoh :
int *ptr;
ptr = &x;
char *ptr;
ptr = t;
char *ptr;
ptr = &t[3];
ptr = "jakarta"
Kamis, 29 Oktober 2009
Pengaturan C++
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
C++ adalah salah satu bahasa pemrograman komputer. Dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustrup) sebagai pengembangan dari Bahasa pemrograman C. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).
Daftar isi[sembunyikan] |
[sunting] Program C++ pertama
Contoh program sederhana C++ untuk hello world dengan menggunakan Pustaka Dasar C++ dapat dilihat di bawah ini:
#include// provides std::cout
int main()
{
std::cout << "Hello, world!\n";
return 0;
}
[sunting] Kata yang dipesan
[sunting] Kelompok pertama
C++ mempunyai 32 buah kata yang dipesan (reserved words). Kata kunci kelompok pertama merupakan turunan dari bahasa C, di antaranya:
| auto | const | double | float | int | short | struct | unsigned |
| break | continue | else | for | long | signed | switch | void |
| case | default | enum | goto | register | sizeof | typedef | volatile |
| char | do | extern | if | return | static | union | while |
[sunting] Kelompok kedua
Kata yang dipesan kelompok kedua berjumlah 30. Kata-kata ini adalah baru dan hanya ada di bahasa C++.
| asm | dynamic_cast | namespace | reinterpret_cast | try |
| bool | explicit | new | static_cast | typeid |
| catch | false | operator | template | typename |
| class | friend | private | this | using |
| const_cast | inline | public | throw | virtual |
| delete | mutable | protected | true | wchar_t |
Kata-kata yang dipesan tersebut di atas tidak boleh dipakai sebagai nama variable, class, enum, macro, dan struct.
[sunting] Tipe data dasar
Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer. Besar dan tipe dari variabel-variabel di dalam standar program C++ dispesifikasikan sebagai berikut.
| Nama | Keterangan | Ukuran | Jangkauan |
|---|---|---|---|
| char | Abjad/karakter atau untuk bilangan bulat kecil | 1 byte | signed: -128 to 127 unsigned: 0 to 255 |
| short int (short) | Bilangan bulat dengan jangkauan pendek | 2 byte | signed: -32768 to 32767 unsigned: 0 to 65535 |
| int | Bilangan bulat | 4 byte | signed: -2147483648 to 2147483647 unsigned: 0 to 4294967295 |
| long int (long) | Integer dengan jangkauan panjang | 4 byte | signed: -2147483648 to 2147483647 unsigned: 0 to 4294967295 |
| bool | Boolean, dapat bernilai benar atau salah (true or false) | i byte | true or false |
| float | Angka dengan titik mengambang (bilangan cacah) | 4 byte | 3.4e +/- 38 (7 digit) |
| double | Bilangan cacah dengan ketelitian ganda | 8 byte | 1.7e +/- 308 (15 digits) |
| long double | Bilangan cacah dengan ketelitian ganda panjang | 8 byte | 1.7e +/- 308 (15 digits) |
| wchar_t | Karakter lebar, biasa dipakai untuk Unicode karakter | 2 byte | 1 karakter lebar |
[sunting] Daftar C++ compiler
Untuk mengubah kode-kode C++ program menjadi suatu program aplikasi yang dimengerti oleh sistem operasi dan komputer, diperlukan sebuah kompilator C++. Berikut ini adalah beberapa kompilator C++ yang dapat digunakan secara gratis.
- Microsoft Visual C++ 2005 Express
- Turbo C++ Explorer
- Apple Xcode for Mac OS X
- Open Source Watcom / OpenWatcom C/C++ Compiler
- Digital Mars C/C++ Compiler (Symantec C++ Replacement)
- Bloodshed Dev-C++ C++ Compiler
- Free Microsoft .NET Framework Software Development Kit (SDK) / Free Microsoft Visual C++ Compiler
- Intel C++ Compiler for Linux Non-Commercial Version
- Sun Studio Compilers and Tools
- Open64 Compiler Tools
- Apple's Macintosh Programmer's Workshop (C and C++ compilers)
- TenDRA C/C++ Compiler
- GNU C/C++ Compiler
- Ch Embeddable C/C++ Interpreter (Standard Edition)
- DJGPP C and C++ Compilers
- CINT C and C++ Interpreter
- SDCC C Cross-compiler
- Cygwin Project (C & C++ Compilers)
- SDCC C Cross-compiler
- Code::Blocks
[sunting] Pranala luar
- Homepage Bjarne Stroustrup
- C++ Users Journal
- Standard Template Library
- ISO Standard
- Andrei Alexandrescu
- Code guru, C++ resource
- C++ basic tutorial
| Artikel mengenai komputer ini adalah suatu tulisan rintisan. Anda dapat membantu Wikipedia mengembangkannya. |