Ads Home1

Pengertian Konsep dari Pointer ke Pointer (Multiple Indirection) C++


http://www.xcodeplus.net/2017/02/pengertian-pointer-ke-pointer-cpp.html
www.xcodeplus.net / Pengertian Konsep dari Pointer ke Pointer (Multiple Indirection) C++ 

Gambar batas intro postingan

C++ Pointer ke Pointer

Pointer ke Pointer (multiple indirection) adalah suatu variabel pointer yang menunjuk ke pointer lain yang telah menunjuk ke alamat tertentu. Situasi ini sering disebut dengan multiple indirection atau pointer ke pointer. Pointer ke pointer ini memang kerapkali sering membingungkan, apalagi untuk seorang yang baru menjadi programmer.

Sebenarnya konsepnya sederhana, kita tahu bahwa pointer normalnya berisi alamat dari sebuah objek (variabel) yang menyimpan nilai berupa data. Sekarang kita mempunyai pointer lagi yang akan menunjuk ke pointer tadi. Agar lebih memahami konsepnya, perhatikan gambar ilustrasi di bawah ini.


http://www.xcodeplus.net/2017/02/pengertian-pointer-ke-pointer-cpp.html
www.xcodeplus.net/Pengertian Konsep dari Pointer ke Pointer (Multiple Indirection) C++ 

Pada single indirection, pointer langsung menunjuk ke alamat dari suatu variabel menunjuk ke pointer lain, kita perlu menggunakan tanda asterisk sebanyak dua kali ( * * ). Sebagai contoh, apabila kita mendeklarasikan pointer menggunakan kode berikut, misal:
"int **P;"
Maka P bukan merupakan pointer yang menunjuk ke tipe data int, melainkan pointer yang menunjuk pointer lain, yaitu pointer ke tipe data int.


BACA JUGA : C++ Pengertian Fungsi Pointer dan Konsep dari Pointer



Dalam bahasa pemrograman C atau C++ seperti yang telah saya jelaskan di atas, bahwa kita dapat mempunyai pointer yang menunjuk ke pointer lain yang telah menunjuk ke alamat tertentu. sebagai tambahan agar anda lebih mudah memahaminya berikut penjelasan mengenai konsep dari pointer ke pointer (multiple indirection) dari forum cplusplus yang telah saya rangkum, berikut penjelasannya di bawah ini.
   
C++ allows the use of pointers that point to pointers, that these, in its turn, point to data (or even to other pointers). The syntax simply requires an asterisk (*) for each level of indirection in the declaration of the pointer:


1
2
3
4
5
6
char a;
char * b;
char ** c;
a = 'z';
b = &a;
c = &b;



This, assuming the randomly chosen memory locations for each variable of 7230, 8092, and 10502, could be represented as:

http://www.xcodeplus.net/2017/02/pengertian-pointer-ke-pointer-cpp.html
With the value of each variable represented inside its corresponding cell, and their respective addresses in memory represented by the value under them.

The new thing in this example is variable c, which is a pointer to a pointer, and can be used in three different levels of indirection, each one of them would correspond to a different value:

  • c is of type char** and a value of 8092
  • *c is of type char* and a value of 7230
  • **c is of type char and a value of 'z'
 Source By :cpluplus.com




BACA JUGA : C++ Penjelasan Memory Leak "Mencegah Terjadinya Kebocoran Memori"



Berikut ini saya telah membuat sebuah program yang mengimplementasikan hal tersebut, perhatikan kode program di bawah ini.

Source code program:





Hasil yang akan diperoleh dari program di atas adalah sebagai berikut:



Output program:
http://www.xcodeplus.net/2017/02/pengertian-pointer-ke-pointer-cpp.html
www.xcodeplus.net / Pengertian Konsep dari Pointer ke Pointer (Multiple Indirection) C++
 

Seperti yang kita lihat bahwa nilai A dapat di akses dengan menggunakan *P1 atau **P2, sedangkan alamat dari variabel A dapat diakses dengan menggunakan &A, P ataupun P2. Penting untuk di ingat bahwa *P2 ini merupakan nilai yang menempati alamat yang ditunjuk oleh pointer P2 tersebut.

Hal ini membuktikan bahwa pointer P2 tidak menunjuk ke tipe data int, melainkan menunjuk ke pointer P1. Dan yang terakhir, P2 sendiri menyimpan alamat dari pointer P1. Pada contoh kode program di atas, P2 ini menyimpan alamat 0x28fee4.
 
 
Perlu anda ketahui bahwa sebagai catatan jika anda pernah mempelajari struktur data lanjut seperti Linked list yang menggunakan pointer. Anda jangan berasumsi bahwa hal ini sama dengan konsep dari Pointer ke Pointer (multiple indirection) karena masing-masing merupakan dua hal yang berbeda, sehingga keduanya memiliki konsep yang berbeda pula.



  BACA JUGA : C++ Panduan Melakukan Inisialisasi pada Pointer dengan Baik dan Benar




 
Gambar batas penutup
C++ merupakan bahasa pemrograman yang berkekuatan tinggi (powerful) dan sangat populer yang berorientasi objek (Object Oriented Programming). Berdasarkan penelitian yang dilakukan oleh TIOBE, tidak hanya Java dan C, C++ juga selalu masuk ke dalam jajaran bahasa pemrograman yang paling banyak banyak digunakan oleh para programmer profesional di seluruh dunia, C++ biasanya digunakan untuk mengembangkan beraneka ragam program di berbagai bidang, seperti: Games, Graphic, Bisnis, Telekomunikasi, Embedded system dan sebagainya.

Tapi dengan begitu C++ termasuk bahasa pemrograman yang tidak mudah dipelajari karena C++ merupakan bahasa middle level language, oleh sebab itu XCODEPLUS sebagai forum tutorial pembelajaran C++, hadir untuk memberikan pembelajaran bagi para programmer pemula yang ingin menguasai C++.

Kami berharap segala postingan yang kami berikan bermanfaat bagi anda. Dan untuk memotivasi kami agar terus update jangan lupa Like, Follow dan Subscribe segala sosial media kami. Terimakasih.


FOLLOW US ON SOCIAL MEDIA
Twitter     : @XcodePlus
Facebook : @xcodeplus18
Google+   : @xcodeplus

Salam, XCode.++plus😄😏

http://www.xcodeplus.net/









No comments:

Kami menerima masukan dari anda jika memang ada pembahasan yang keliru dan kami sangat senang jika anda dapat berkontribusi untuk menyempurnakan postingan kami. Anda dapat mengirimkan email ke : hari18.muhammad@gmail.com

Jika postingan ini bermanfaat jangan lupa share postingan ini. Kami sangat merekomendasikan untuk anda yang membutuhkan informasi tentang computer stuff silakan subscribe blog kami dapatkan informasi terupdate dari kami secara gratiss. Terimakasih!

Powered by Blogger.