Terdapat dua bentuk lulus parameter sebenar dalam bahasa C: lulus mengikut nilai dan lulus melalui alamat. Melepasi nilai menyalin nilai parameter sebenar kepada parameter formal, dan pengubahsuaian parameter formal tidak menjejaskan parameter sebenar melalui alamat memindahkan alamat parameter sebenar kepada parameter formal, dan pengubahsuaian parameter formal secara langsung mengubah parameter sebenar; nilai. Bahasa C lalai untuk lulus mengikut nilai, tetapi penunjuk boleh digunakan untuk melaksanakan lulus melalui alamat.
Bentuk parameter sebenar dalam bahasa C
Dalam bahasa C, parameter sebenar merujuk kepada data sebenar yang dihantar kepada fungsi. Parameter sebenar biasanya diluluskan dalam bentuk berikut:
Dalam bahasa C pass by value digunakan secara lalai. Walau bagaimanapun, melalui alamat boleh dilaksanakan menggunakan penunjuk.
Contoh passing by value:
<code class="c">void swap(int a, int b) { // 对形参进行交换 int temp = a; a = b; b = temp; } int main() { int x = 5; int y = 7; swap(x, y); // 按值传递 x 和 y // x 和 y 仍然是 5 和 7 printf("x = %d, y = %d\n", x, y); return 0; }</code>
Contoh passing by address:
<code class="c">void swap(int *a, int *b) { // 对形参(指针)进行交换 int temp = *a; *a = *b; *b = temp; } int main() { int x = 5; int y = 7; swap(&x, &y); // 按地址传递 x 和 y 的地址 // x 和 y 已被交换 printf("x = %d, y = %d\n", x, y); return 0; }</code>
Semoga penjelasan ini dapat membantu anda memahami bentuk parameter sebenar dalam bahasa C.
Atas ialah kandungan terperinci Apakah bentuk umum parameter sebenar dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!