Halo dan selamat datang kembali. Dalam kuliah ini, saya ingin memberikan
demonstrasi atau solusi dari tantangan kami sebelumnya yang membuat Anda
terbiasa dengan sintaks pointer, konsep pointer, menetapkan
alamat ke pointer dan kemudian menampilkan beberapa output untuk sebuah pointer.
Jadi mari kita membawa blok kode, dan kita akan membuat sebuah proyek baru
sebuah proyek c baru yang hanya akan disebut dasar-dasar pointer, karena itu akan melakukan dasar-dasar pointer.
Jadi kita tahu bagaimana melakukan semua ini. Kita akan memilih aplikasi konsol,
pastikan kita memiliki c dan panggil saja dasar
pointer ini.
Konsep pointer ini sangat, sangat penting.
Jadi kami memulai dengan lambat dan melanjutkan dari sana.
Jadi di sini kita pergi. Di sini kita memiliki utama kita.
Sekarang yang ingin kita lakukan adalah membuat satu variabel
integer dan kemudian satu variabel pointer.
Dan kami ingin menginisialisasi keduanya.
Jadi hal pertama yang akan saya lakukan adalah membuat variabel
integer dan saya hanya akan menamainya number atau num.
Dan saya akan menginisialisasi ini ke 150.
Untuk membuat variabel pointer, itu harus tipe yang sama.
Untuk membuat pointer, yang harus Anda lakukan adalah melakukan tipe data dan kemudian tanda bintang
dalam deklarasi dan kemudian kita hanya akan memanggil pnum ini untuk nomor pointer.
Biasanya, Anda ingin memulai variabel Anda yang berupa pointer dengan awalan p.
Dan itu ide yang baik untuk selalu ketika Anda membuat pointer Anda menginisialisasi mereka ke nol.
Null adalah kata kunci khusus yang mengatakan bahwa penunjuk
tidak menunjuk ke apa pun.
Setelah kedua variabel kami
diinisialisasi, num integer dan pointer num integer kami, kami kemudian
ingin menetapkan sesuatu ke pointer kami.
Karena saat ini pointer kita tidak menunjuk apapun di memori.
Dan Anda ingin memastikan apa pun yang Anda tetapkan penunjuk
Anda untuk itu, yang sebenarnya memiliki lokasi memori untuk
itu, memori yang dialokasikan.
Jadi dalam hal ini, jika kita akan menetapkannya num, num
adalah bilangan bulat pada baris 6 yang memiliki memori yang dialokasikan untuknya.
C akan secara otomatis mengalokasikan memori untuk deklarasi
variabel apa pun.
Bahkan pointer pada baris 7 ini memiliki memori yang dialokasikan hanya untuk menyimpan pointer.
Itu tidak berarti ia memiliki memori yang dialokasikan untuk apa yang ditunjuknya.
Jadi untuk menandatangani pnum, nilai sebuah
alamat, yang harus kita lakukan adalah mengatakan pnum
sama dengan ampersand, yang merupakan
alamat operator dan
kita ingin menetapkan alamat num.
Num memiliki memori yang sudah dialokasikan untuk itu dan kami mendeklarasikannya.
Jadi baris 9 hanya menetapkan alamat num ke pointer.
Ini sesederhana itu.
Sekarang ketika Anda membuat pointer dan Anda menetapkan
alamat untuk itu, Anda juga bisa membuat memori dinamis Anda sendiri dan
menetapkan itu. Tapi itu untuk latihan lain. Dalam hal
ini, kita sudah membuat variabel kita. Kami akan menunjuk ke nilai variabel itu.
Kita perlu menetapkan alamat num.
Sekarang setelah kami mencetak, kami telah menyelesaikan tugas kami, kami telah menginisialisasi semuanya.
Sekarang kami hanya ingin mencetak beberapa informasi.
Jadi kita akan menggunakan printf dan saya hanya akan mengatakan
pertama saya ingin mencetak nilai alamat pnum.
Sekarang berapa nilai pnum untuk alamatnya,
tetapi alamat pnumnya. Dan di sini kita sebenarnya
bisa mengatakan alamat sebuah
pointer jadi kita akan mengatakan p. Dan kemudian yang harus kita lakukan adalah
meletakkannya di sini, kita harus memasukkan alamat pointer kita.
Jadi di sini kita akan mengatakan alamat pnum.
Dan apa yang akan diberikan ini kepada kita, ini akan memberi kita
alamat pointer yang mengalokasikan memori. Ini bukan
nilai dari nilai pointer. Nilai pointer juga akan menjadi alamat, itu akan menjadi alamat num.
Jadi di sini mari kita cetak num dulu. Jadi disini
kita hanya akan mencetak num address tersebut.
Dan sekali lagi, kami ingin mencetak alamat, katakanlah persen p.
Dan kemudian kita akan mengatakan
alamat dari alamat num.
Dan alamat num juga harus sesuai dengan nilai pnum.
Alamat pnum akan berbeda karena itulah penunjuk di memori.
Jadi kita akan mencetak nilai pnum
atau saya harus mengatakan alamat pnum.
Dan kemudian
kita juga akan mencetak nilai pnum .
variabel dan ini juga akan menjadi alamat, dan ini
hanya akan menjadi pnum.
Dan hal terakhir yang ingin kita
tampilkan adalah kita ingin menampilkan apa nilai yang pnum tunjuk.
Jadi nilai yang ditunjukkan pnum.
Dan ini sebenarnya akan menjadi tipe yang ditunjuknya
adalah bilangan bulat. Jadi ini akan menjadi persen d.
Dan mari kita tambahkan beberapa umpan baris sehingga kita bisa membaca ini.
Dan apa yang sebenarnya ditunjukkan pada cara Anda mendapatkan nilai itu adalah operator tipuan.
Jadi Anda melakukan asterisk dan kemudian nama pointer.
Dan itu akan memberi tahu Anda apa yang ditunjukkan oleh nilainya yang seharusnya 150.
Jadi hanya untuk mengulangi di sini pada
baris 11, kami mencetak alamat num.
Itu akan menjadi beberapa angka atau angka heksadesimal.
Kemudian pada baris 12, kami mencetak alamat pnum,
yang baru saja dialokasikan pada baris
tujuh karena Anda harus menyimpan penunjuk pnum di suatu tempat.
Kemudian kami mencetak nilai pointer yang hanya merupakan alamat num.
Dan ketika kita mencetak alamat pnum, kita harus menggunakan ampersand.
Dan kemudian kami mencetak nilai dari apa
yang pnum tunjuk yang melakukan dereferensi menggunakan operator tipuan.
Jadi sekarang mari kita lanjutkan dan
membangun ini dan menjalankannya dan kita akan melihat semua nilai ini.
Jadi alamat
num hanya nomor ini di memori adalah 0060FF0C.
Alamat pnum akan menjadi
sesuatu yang berbeda, 0060FF08.
Nilai pnum yang merupakan alamat num harus cocok dengan baris pertama
dan melakukan FFOC.
Dan kemudian nilai pnum yang ditunjuk adalah 150.
Jadi pointer benar-benar dapat memiliki tiga nilai. Alamatnya, nilai
pointer yang merupakan alamat lain dan
kemudian nilai yang ditunjuk oleh alamat tersebut.
Dan lagi, ampersand selalu memberi Anda alamat
di memori.
Pnum berisi alamat. Anda dapat mencetaknya
hanya dengan mengucapkan nama pointer.
Dan kemudian untuk mendapatkan nilai yang ditunjuknya, Anda menggunakan operator tipuan, tanda
bintang dan itu akan memberi Anda nilai itu yaitu 150.
Jadi ini adalah dasar-dasar pointer, membuat Anda terbiasa dengan sintaks.
Kapan menggunakan alamat operator dan kapan menggunakan
operator tipuan dan kemudian mencoba menjelaskan konsep pointer ini saja dan
bagaimana pointer berisi nilai alamat, nilai pointer adalah alamat.
Jadi bermain-main dengan ini, pahami
sintaks ini, pointer adalah konsep yang sangat penting. Terima kasih.