Dokumen tersebut membahas tentang pointer dan string dalam bahasa C++. Terdapat contoh penggunaan pointer untuk menunjuk ke string konstan, perbedaan antara array dan pointer string, penggunaan array untuk menyimpan pointer, dan kemampuan pointer untuk menunjuk ke pointer lain.
2. Pointer dan String
Contoh hubungan pointer dan string :
#include <iostream.h>
#include <conio.h>
void main()
{
char *ptokoh = "gatotkaca";
cout<<ptokoh<<endl;
getch();
}
3. Pointer dan String
Pada contoh diatas :
Akan menyebabkan C++ :
Mengalokasikan ptokoh sebagai variabel pointer yang
menunjuk ke data bertipe char dan menempatkan
konstanta string gatotkaca ke suatu lokasi di memori
komputer.
Kemudian ptokoh akan menunjuk ke lokasi string
gatotkaca.
char *ptokoh = gatotkaca;
4. Pointer dan String
Pernyataan didepan menyerupai pernyataan :
Perbedaannya :
ptokoh adalah pointer yang dengan mudah dapat diatur agar
menunjuk ke data string.
tokoh adalah array yang menyatakan alamat yang konstan, tidak
dapat diubah. Yang dapat diubah adalah elemen array-nya.
Perbedaannya ditunjukkan oleh program berikut :
char tokoh[] = gatotkaca;
6. Array Pointer
Suatu array bisa digunakan untuk menyimpan
sejumlah pointer. Contoh :
Merupakan pernyataan untuk mendefinisikan
array namahari yang berisi 7 buah elemen berupa
pointer.
Pointer ini menunjuk ke data bertipe char.
char *namahari[7];
8. namahari
s a ub t 0
m i 0gn g u
s e nn i 0
s e 0sl a a
r a 0b u
k a sm i 0
j u 0am t
char *namahari[7] = {"senin", "selasa", "rabu", "kamis", "jum'at", "sabtu", minggu"};
9. Pointer Menunjuk Pointer
Suatu pointer bisa saja menunjuk pointer yang lain.
Untuk itu diperlukan pendefinisian sebagai berikut :
int var_x;
int *ptr1; //satu tanda * di depan ptr1
int **ptr2; //dua tanda * di depan ptr2
10. Pointer Menunjuk Pointer
Pada pendefinisian diatas :
var_x adalah variabel bertipe int.
ptr1 adalah variabel pointer yang menunjuk ke data
bertipe int.
ptr2 adalah varibel pointer yang menunjuk ke pointer
int.
Agar ptr1 menunjuk ke var_x dan ptr2 menunjuk
ke ptr1, maka diperlukan perintah :
ptr1 = &var_x;
ptr2 = &ptr1;
11. #include <iostream.h>
#include <conio.h>
void main()
{
int var_x = 273;
int *ptr1;
int **ptr2;
cout<<"var_x = "<<var_x<<endl;
ptr1 = &var_x;
ptr2 = &ptr1;
//mengakses nilai var_x melalui ptr1
cout<<"*ptr1 = "<<*ptr1<<endl;
//mengakses nilai var_x melalui ptr2
cout<<"**ptr1 = "<<**ptr2<<endl;
getch();
}