Bahasa C
Pointer dalam C mudah dan menyenangkan untuk dipelajari. Beberapa tugas pemrograman C dilakukan lebih mudah dengan pointer, dan tugas lain, seperti alokasi memori dinamis, tidak dapat dilakukan tanpa menggunakan pointer. Jadi perlu mempelajari pointer untuk menjadi programmer C yang sempurna. Mari mulai mempelajarinya dengan langkah-langkah sederhana dan mudah.
Seperti yang Anda ketahui, setiap variabel adalah lokasi memori dan setiap lokasi memori memiliki alamat yang ditentukan yang dapat diakses menggunakan operator ampersand (&), yang menunjukkan alamat di memori. Perhatikan contoh berikut, yang mencetak alamat variabel yang didefinisikan
Demo Langsung#include <stdio.h> int main () { int var1; char var2[10]; printf("Address of var1 variable: %x\n", &var1 ); printf("Address of var2 variable: %x\n", &var2 ); return 0; }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
Address of var1 variable: bff5a400 Address of var2 variable: bff5a3f6
Penunjuk adalah variabel yang nilainya merupakan alamat dari variabel lain, yaitu alamat langsung dari lokasi memori. Seperti variabel atau konstanta apa pun, Anda harus mendeklarasikan pointer sebelum menggunakannya untuk menyimpan alamat variabel apa pun. Bentuk umum dari deklarasi variabel pointer adalah
type *var-name;
Di sini, ketik adalah tipe dasar pointer; harus berupa tipe data C yang valid dan var-name adalah nama variabel pointer. Tanda bintang * yang digunakan untuk mendeklarasikan pointer sama dengan tanda bintang yang digunakan untuk perkalian. Namun, dalam pernyataan ini tanda bintang digunakan untuk menunjuk variabel sebagai penunjuk. Lihatlah beberapa deklarasi pointer yang valid −
int *ip; /* pointer to an integer */ double *dp; /* pointer to a double */ float *fp; /* pointer to a float */ char *ch /* pointer to a character */
Tipe data aktual dari nilai semua pointer, apakah integer, float, karakter, atau lainnya, adalah sama, angka heksadesimal panjang yang mewakili alamat memori. Satu-satunya perbedaan antara pointer dari tipe data yang berbeda adalah tipe data dari variabel atau konstanta yang ditunjuk pointer.
Ada beberapa operasi penting, yang akan sering kita lakukan dengan bantuan pointer. (a) Kami mendefinisikan variabel pointer, (b) menetapkan alamat variabel ke pointer dan (c) akhirnya mengakses nilai di alamat yang tersedia di variabel pointer. Ini dilakukan dengan menggunakan operator unary * yang mengembalikan nilai variabel yang terletak di alamat yang ditentukan oleh operandnya. Contoh berikut menggunakan operasi ini
Demo Langsung#include <stdio.h> int main () { int var = 20; /* actual variable declaration */ int *ip; /* pointer variable declaration */ ip = &var; /* store address of var in pointer variable*/ printf("Address of var variable: %x\n", &var ); /* address stored in pointer variable */ printf("Address stored in ip variable: %x\n", ip ); /* access the value using the pointer */ printf("Value of *ip variable: %d\n", *ip ); return 0; }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
Address of var variable: bffd8b3c Address stored in ip variable: bffd8b3c Value of *ip variable: 20
Itu selalu merupakan praktik yang baik untuk menetapkan nilai NULL ke variabel pointer jika Anda tidak memiliki alamat yang tepat untuk ditetapkan. Ini dilakukan pada saat deklarasi variabel. Pointer yang diberi NULL disebut null penunjuk.
Pointer NULL adalah konstanta dengan nilai nol yang ditentukan di beberapa pustaka standar. Perhatikan program berikut
Demo Langsung#include <stdio.h> int main () { int *ptr = NULL; printf("The value of ptr is : %x\n", ptr ); return 0; }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
The value of ptr is 0
Di sebagian besar sistem operasi, program tidak diizinkan mengakses memori di alamat 0 karena memori tersebut dicadangkan oleh sistem operasi. Namun, alamat memori 0 memiliki arti khusus; itu menandakan bahwa penunjuk tidak dimaksudkan untuk menunjuk ke lokasi memori yang dapat diakses. Tetapi menurut konvensi, jika sebuah pointer berisi nilai null (nol), diasumsikan tidak menunjuk ke apa pun.
Untuk memeriksa penunjuk nol, Anda dapat menggunakan pernyataan 'jika' sebagai berikut −
if(ptr) /* succeeds if p is not null */ if(!ptr) /* succeeds if p is null */
Pointer memiliki banyak konsep tetapi mudah dan sangat penting untuk pemrograman C. Konsep pointer penting berikut ini harus jelas bagi programmer C mana pun −
No.Sr. | Konsep &Deskripsi |
---|---|
1 | Aritmatika penunjuk Ada empat operator aritmatika yang dapat digunakan dalam pointer:++, --, +, - |
2 | Array pointer Anda dapat mendefinisikan array untuk menampung sejumlah pointer. |
3 | Penunjuk ke penunjuk C memungkinkan Anda untuk memiliki pointer pada pointer dan sebagainya. |
4 | Meneruskan pointer ke fungsi di C Melewati argumen dengan referensi atau dengan alamat memungkinkan argumen yang diteruskan diubah dalam fungsi pemanggilan oleh fungsi yang dipanggil. |
5 | Mengembalikan pointer dari fungsi di C C memungkinkan fungsi untuk mengembalikan pointer ke variabel lokal, variabel statis, dan juga memori yang dialokasikan secara dinamis. |
Bahasa C
Latar Belakang Penunjuk laser adalah laser portabel berbiaya rendah yang dapat dibawa di tangan. Ini dirancang untuk digunakan selama presentasi untuk menunjukkan area slide atau gambar yang disajikan, menggantikan tongkat kayu genggam atau penunjuk logam yang dapat diperpanjang. Ini lebih unggul
Petunjuk C++ Dalam tutorial ini, kita akan belajar tentang pointer di C++ dan cara kerjanya dengan bantuan contoh. Dalam C++, pointer adalah variabel yang menyimpan alamat memori dari variabel lain. Alamat di C++ Jika kita memiliki variabel var dalam program kami, &var akan memberi kita alamatnya
Penunjuk dan Array C++ Dalam tutorial ini, kita akan belajar tentang hubungan antara array dan pointer dengan bantuan contoh. Dalam C++, Pointer adalah variabel yang menyimpan alamat dari variabel lain. Pointer tidak hanya dapat menyimpan alamat variabel tunggal, tetapi juga dapat menyimpan alamat
Dalam bahasa pemrograman, konsep tertentu membuat pengkodean menjadi lebih mudah. Misalnya, penunjuk kosong menentukan tipe data spesifik dari input pengguna akhir dalam bahasa pemrograman C. Oleh karena itu, membawa kita untuk membahas pointer kosong di C. Seperti yang lain, pointer kosong memili