Penunjuk () menghala ke alamat memori berubah, dan operator alamat (&) mendapat alamat berubah. Penunjuk dinyahrujuk menggunakan operator untuk mengakses nilai, manakala pengendali alamat mengembalikan penunjuk ke lokasi pembolehubah. Operator ini digunakan untuk peruntukan memori dinamik, senarai terpaut dan operasi tatasusunan.
Pemahaman mendalam tentang fungsi berbeza * dan & dalam bahasa C
Penunjuk (*) dan pengendali alamat (&) ialah dua pengendali penting dalam bahasa C, tetapi ia mempunyai fungsi yang berbeza.
Penunjuk (*)
Penunjuk ialah pembolehubah yang menunjuk ke alamat pembolehubah dalam ingatan. Dengan menggunakan penunjuk, kita boleh mengakses kandungan pembolehubah ini secara tidak langsung. Penunjuk diwakili oleh asterisk (*).
int x = 10; int *ptr = &x; // ptr指向变量x的地址
Sekarang, ptr
menunjuk ke alamat x
. Kita boleh menggunakan operator *
untuk membatalkan rujukan penunjuk dan mengakses nilai x
. ptr
指向x
的地址。我们可以使用*
运算符解除引用指针并访问x
的值。
int value = *ptr; // value接收x的值
地址运算符(&)
地址运算符(&)获取一个变量的地址。它返回一个指向该变量内存位置的指针。
int x = 10; int *ptr = &x; // ptr接收x的地址
在这个例子中,ptr
将包含x
的内存地址。
实战案例
使用指针和地址运算符,我们可以实现许多有用的功能,例如:
为了理解指针和地址运算符之间的差异,让我们看一个示例:
int x = 10; int *ptr = &x; int y = *ptr;
在此示例中:
ptr
是指向x
的指针,*ptr
是解除引用的指针,它包含x
的值,即10。&x
是x
rrreeeptr
akan mengandungi alamat memori x
. 🎜🎜🎜Kes praktikal🎜🎜🎜Menggunakan penunjuk dan pengendali alamat, kami boleh melaksanakan banyak fungsi berguna, seperti: 🎜ptr
menunjuk ke x
, *ptr
ialah penuding dinyahrujuk, yang mengandungi nilai x
, iaitu 10. 🎜&x
ialah alamat x
, ia bukan penunjuk, jadi kami tidak boleh membatalkan rujukannya. 🎜🎜🎜Dengan memahami perbezaan antara pengendali penunjuk dan alamat, kami boleh menulis kod C yang lebih cekap dan boleh dibaca. 🎜Atas ialah kandungan terperinci Memahami dengan mendalam fungsi berbeza * dan & dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!