際際滷

際際滷Share a Scribd company logo
Oleh Drs KH.BUDI YONO
Pointer dan String
 Contoh hubungan pointer dan string :
#include <iostream.h>
#include <conio.h>
void main()
{
char *ptokoh = "gatotkaca";
cout<<ptokoh<<endl;
getch();
}
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;
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;
#include <iostream.h>
#include <conio.h>
void main()
{
char tokoh[] = "gatotkaca";
char *ptokoh = "gatotkaca";
cout<<"tokoh = "<<tokoh<<endl;
cout<<"ptokoh = "<<ptokoh<<endl;
//tokoh++; //tidak diperkenankan
ptokoh++; //diperkenankan
cout<<"ptokoh = "<<ptokoh<<endl;
getch();
}
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];
#include <iostream.h>
#include <conio.h>
void main()
{
char *namahari[7] = {"senin", "selasa", "rabu", "kamis",
"jum'at", "sabtu", "minggu"};
for(int i=0; i<7; i++)
{
cout<<namahari[i]<<endl;
}
getch();
}
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"};
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
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;
#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();
}

More Related Content

Materi kuliah 05 pointer part 3

  • 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;
  • 5. #include <iostream.h> #include <conio.h> void main() { char tokoh[] = "gatotkaca"; char *ptokoh = "gatotkaca"; cout<<"tokoh = "<<tokoh<<endl; cout<<"ptokoh = "<<ptokoh<<endl; //tokoh++; //tidak diperkenankan ptokoh++; //diperkenankan cout<<"ptokoh = "<<ptokoh<<endl; getch(); }
  • 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];
  • 7. #include <iostream.h> #include <conio.h> void main() { char *namahari[7] = {"senin", "selasa", "rabu", "kamis", "jum'at", "sabtu", "minggu"}; for(int i=0; i<7; i++) { cout<<namahari[i]<<endl; } getch(); }
  • 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(); }