.
Home » , » Belajar C++ Bag.6

Belajar C++ Bag.6

Unknown | 04.31 | 0 komentar
Pelajaran 6 - Pointer
Pointer dapat membingungkan, kadang-kadang Dan, Andari mungkin bertanya-tanya mengapa Apakah kamu pernah Ingin menggunakan mereka. Yang BENAR adalah, mereka dapat membuat beberapa Hal lebih mudah. Misalnya, menggunakan pointer adalah salat Satu Cara untuk memiliki fungsi memodifikasi variabel berlalu untuk ITU. Hal inisial JUGA mungkin untuk menggunakan pointer untuk mengalokasikan Memori Dinamis Yang memungkinkan Teknik pemrograman tertentu, seperti PT ARWANA Microsoft terkait resizable Dan array. Pointer adalah apa ... Mereka terdengar seperti pointer. Mereka menunjuk Ke KBLI di Memori. Bayangkan sebuah botol Besar ITU memegang KBLI jar berbaring. Illustrasi tabung Before memegang secarik Kertas Artikel Baru Nomor 12 tertulis di atasnya. Tabung Artikel Baru 12 adalah bilangan Bulat, Dan tabung Artikel Baru alamat Memori 12 adalah pointer.
Sintaks Pointer Ook dapat membingungkan, karena pointer dapat memberikan kedua KBLI Memori Dan memberikan Diskonto sebenarnya Disimpan di KBLI ITU sama. Ketika pointer Menyatakan, sintaks adalah inisial: variable_type * NAMA, * Perhatikan nihil. Suami adalah Kunci untuk Mendeklarasikan pointer, Acute Andari menggunakannya sebelum NAMA variabel, Maka Akan mendeklarasikan variabel untuk menjadi pointer.
Seperti Yang SAYA katakan, ADA doa Cara Untuk menggunakan pointer untuk mengakses INFORMASI mengenai alamat Memori inisial menunjuk ke. Hal inisial mungkin untuk memilikinya memberikan alamat Yang sebenarnya Ke Lain variabel, atau untuk Lulus Ke fungsi. Untuk melakukannya, cukup gunakan NAMA pointer Tanpa * nihil. Mengacu PADA: Ke: akses KBLI Memori Yang sebenarnya, gunakan file *. Nama di Teknis untuk melakukan Hal inisial adalah dereferencing.
Illustrasi rangka untuk memiliki pointer sebenarnya menunjuk Ke Lain variabel adalah Diperlukan untuk memiliki alamat Memori Bahasa Dari variabel ITU JUGA. Untuk mendapatkan alamat Memori Bahasa Dari variabel, menempatkan & masuk depan NAMA variabel. Hal inisial membuat memberikan alamatnya. Hal inisial disebut Operator alamat, karena besarbesaran mengembalikan alamat Memori.
Sebagai Contoh:

 
# Include

 
menggunakan namespace std;

 
int main ()
 
{
  
int x; / / A bilangan bulat yang normal
  
int * p, / / ​​A pointer ke integer

  
p = &x; / / Baca itu, "menetapkan alamat x ke p"
  
cin >> x; / / Masukan nilai dalam x, kita juga bisa menggunakan * p sini
  
cin.ignore ();
  
cout << * p << "\ n"; / / Perhatikan penggunaan * untuk mendapatkan nilai
  
cin.get ();
 
}

Cout keluaran Diskonto Illustrasi x. Mengapa demikian? Nah, melihat Kode. X bilangan bulat Disebut. Sebuah pointer Ke bulat kemudian didefinisikan sebagai p Kemudian menyimpan KBLI Memori x PADA pointer menggunakan Operator alamat (&). Acute Andari Ingin, Andari dapat menganggapnya sebagai Acute tabung ITU ular Dan bilangan bulat ampersand ular di dalamnya Maka Akan menampilkan Namanya (Illustrasi pointer, alamat Memori) Kemudian masukan pengguna Diskonto untuk x. Kemudian cout menggunakan * untuk menempatkan Diskonto Disimpan Dalam, KBLI Memori pointer. Acute tabung Artikel Baru NAMA jar Lain di dalamnya memiliki * di depan ITU Akan memberikan Diskonto Disimpan Dalam, tabung Artikel Baru NAMA Yang sama sebagai salat Satu Dalam, tabung Artikel Baru NAMA. Hal inisial tidak terlalu Sulit, * memberikan Diskonto di KBLI. The unasterisked memberikan KBLI Memori.
Perhatikan bahwa dalam contoh di atas, pointer diinisialisasi untuk menunjuk ke alamat memori tertentu sebelum digunakan. Jika hal ini tidak terjadi, itu bisa menunjuk apa pun. Hal ini dapat mengakibatkan konsekuensi yang sangat tidak menyenangkan ke komputer. Anda harus selalu menginisialisasi pointer sebelum Anda menggunakannya.
Hal ini juga memungkinkan untuk menginisialisasi pointer menggunakan memori bebas. Hal ini memungkinkan alokasi dinamis memori array. Hal ini paling berguna untuk menyiapkan struktur yang disebut daftar link. Ini topik yang sulit terlalu kompleks untuk teks ini. Pemahaman tentang kata kunci baru dan menghapus akan, bagaimanapun, akan sangat membantu di masa depan.
Kata kunci baru digunakan untuk menginisialisasi pointer dengan memori dari toko bebas (bagian dari memori yang tersedia untuk semua program). Sintaks seperti contoh:

 
int * ptr = new int;

Ini menginisialisasi ptr untuk menunjuk ke alamat memori int ukuran (karena variabel memiliki ukuran yang berbeda, jumlah byte, ini diperlukan). Memori yang menunjuk menjadi tidak tersedia untuk program lain. Ini berarti bahwa coder hati-hati harus membebaskan memori ini pada akhir penggunaannya.
Operator menghapus membebaskan memori yang dialokasikan melalui baru. Untuk melakukannya, sintaksnya adalah seperti pada contoh.

 
menghapus ptr;
Setelah menghapus pointer, itu adalah ide yang baik untuk me-reset untuk menunjuk ke 0. Ketika 0 ditugaskan untuk pointer, pointer menjadi null pointer, dengan kata lain, ini menunjuk ke apa-apa. Dengan melakukan hal ini, ketika Anda melakukan sesuatu yang bodoh dengan pointer (itu sering terjadi, bahkan dengan programmer berpengalaman), Anda menemukan segera bukannya kemudian, ketika Anda telah melakukan kerusakan besar.
Share this article :

0 komentar:

Posting Komentar

Arsip Blog

Recent Post

Labels

  • A (6)
  • B (20)
  • C (20)
  • D (8)
  • E (2)
  • F (14)
  • G (1)
  • I (3)
  • J (6)
  • K (5)
  • L (1)
  • M (16)
  • N (4)
  • P (11)
  • Q (2)
  • R (2)
  • S (7)
  • T (9)
  • U (2)
  • V (11)
  • W (6)
.
 
Support : HONOR JANGAR | HONOR JANGAR INDONESIA | HONOR JANGAR
Copyright © 2013. Pak RT atau Pak RW - All Rights Reserved
Template Modify by Honor Jangar Indonesia
Proudly powered by Blogger