Rumah >pembangunan bahagian belakang >C++ >Apakah cara berbeza Simbol Ampersand (&) digunakan dalam C ?

Apakah cara berbeza Simbol Ampersand (&) digunakan dalam C ?

Susan Sarandon
Susan Sarandonasal
2024-11-17 16:34:02421semak imbas

What are the different ways the Ampersand Symbol (&) is used in C  ?

Memahami Simbol Ampersand (&) dalam C

Simbol ampersand (&) mempunyai pelbagai tujuan dalam C , mewujudkan kekeliruan untuk pemula. Salah satu fungsi utamanya ialah mengambil alamat pembolehubah, konsep yang sering dikaitkan dengan penunjuk. Walau bagaimanapun, dalam senario tertentu, ia juga boleh memainkan peranan lain.

Mengambil Alamat Pembolehubah

Seperti yang dijangka, operator & boleh digunakan untuk mendapatkan alamat pembolehubah, disimpan sebagai penunjuk ke lokasinya dalam ingatan. Contohnya:

int x;
void* p = &x;

Di sini, alamat x diberikan kepada penuding p.

Meluluskan Hujah melalui Rujukan

Apabila mengisytiharkan parameter fungsi, & menunjukkan bahawa hujah diluluskan melalui rujukan. Ini bermakna pengubahsuaian yang dibuat kepada parameter dalam fungsi akan mempengaruhi pembolehubah asal secara langsung. Secara lalai, hujah diluluskan mengikut nilai, mencipta salinan semasa panggilan fungsi. Melewati rujukan bermanfaat untuk objek besar atau apabila mengubah suai pembolehubah asal dikehendaki.

void foo(CDummy& x); // x is passed by reference

Mengisytiharkan Pembolehubah Rujukan

& juga boleh digunakan untuk mengisytiharkan pembolehubah rujukan yang merujuk kepada pembolehubah sedia ada. Tugasan yang dibuat melalui rujukan secara langsung mempengaruhi pembolehubah asal.

int k = 0;
int& r = k; // r is a reference to k
r = 3;

Dalam contoh ini, r ialah rujukan kepada k, dan perubahan yang dibuat melalui r ditunjukkan dalam k.

Fungsi Tambahan &

Di luar penggunaan biasa ini, pengendali ampersand mempunyai fungsi lain sebagai baik:

  • Bitwise dan operator: Melakukan operasi bitwise AND pada operan.
  • Alamat rujukan: Apabila digunakan pada rujukan, mengembalikan alamat pembolehubah yang dirujuk.

Atas ialah kandungan terperinci Apakah cara berbeza Simbol Ampersand (&) digunakan dalam 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