Dalam bahasa C, & (pengendali alamat) digunakan untuk mendapatkan alamat pembolehubah, manakala (pengendali dereference) digunakan untuk mendapatkan nilai yang ditunjukkan oleh penunjuk. & mengembalikan penunjuk dan mengembalikan jenis data yang ditunjuk oleh penunjuk. & boleh digunakan untuk sebarang pembolehubah, manakala * hanya boleh digunakan untuk pembolehubah penunjuk. Ia digunakan untuk operasi penunjuk, peruntukan memori dinamik, dan mengakses nilai yang ditunjuk oleh penunjuk.
Maksud & dan * dalam bahasa C
Dalam bahasa C, & dan * ialah dua pengendali yang sangat penting, digunakan untuk operasi penunjuk dan pembolehubah rujukan.
& (pengendali alamat)
- Pengendali alamat (&) digunakan untuk mendapatkan alamat pembolehubah.
- Sintaks: &var
- Nilai pulangan: Penunjuk untuk menyimpan alamat memori bagi nilai pembolehubah.
Contoh:
int num = 10;
int *ptr = #
printf("%p\n", ptr); // 输出 num 变量的地址
* (operator dereference)
- Operator dereference (*) digunakan untuk mendapatkan nilai yang ditunjukkan oleh penunjuk.
- Sintaks: *ptr
- Nilai pulangan: nilai yang ditunjuk oleh penuding.
Contoh: Perbezaan antara
int num = 10;
int *ptr = #
printf("%d\n", *ptr); // 输出 num 变量的值
& dan *
- & mendapat alamat pembolehubah, manakala * mendapat nilai yang ditunjuk oleh penunjuk.
- & mengembalikan nilai jenis penunjuk, manakala * mengembalikan nilai jenis data yang ditunjuk oleh penunjuk.
- & boleh digunakan pada mana-mana pembolehubah, manakala * hanya boleh digunakan pada pembolehubah penunjuk.
Senario penggunaan
- & digunakan untuk menghantar alamat pembolehubah sebagai parameter fungsi atau dalam peruntukan memori dinamik.
- digunakan untuk mengakses dan mengubah suai nilai pembolehubah melalui penunjuk.
- Penunjuk digunakan secara meluas dalam bahasa C untuk pengurusan memori, pelaksanaan struktur data dan pemindahan fungsi jenis data yang kompleks.
Atas ialah kandungan terperinci Apakah maksud & dan * dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn