関数パラメータを渡す 3 つの方法
1. 値による渡し. 渡すとき、仮パラメータと実パラメータはそれぞれ独立したスペースを占めます。 。
2. アドレス転送とは、実パラメータの格納アドレスを仮パラメータに転送することです。
3. 参照による受け渡しは、実パラメータとしての参照を持つエイリアスであり、実パラメータと同じ変数です。
サンプルコード
値渡し
#include<stdio.h> void swap1(int x, int y)//定义中的x,y变量是swap函数的两个形参 { int tmp; tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 2; int b = 3; swap1(a, b);//a,b变量为swap函数的实际参数 printf("a=%d,b=%d", a, b); return 0; }
アドレス渡し
void swap2(int *px, int *py) { int tmp; tmp = *px; *px = *py; *py = tmp; printf("px=%d,py=%d\n", *px, *py); } int main() { int a = 2; int b = 3; swap2(&a, &b);/*调用了swap函数,同样也有隐含动作px=&a;py=&b;*/ printf("a=%d,b=%d", a, b); return 0; }
参照渡し
#include<stdio.h> void swap3(int &x,int &y) { int tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 2; int b = 3; swap3(a, b);//调用方式与传值一样 printf("a=%d,b=%d", a, b); system("pause"); return 0; }
推奨チュートリアル:《C# チュートリアル》
以上が関数にパラメータを渡す 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。