Drei Möglichkeiten, Funktionsparameter zu übergeben
1. Bei der Übergabe belegen formale Parameter und tatsächliche Parameter jeweils einen unabhängigen Raum.
2. Bei der Adressübertragung wird die Speicheradresse des tatsächlichen Parameters an den formalen Parameter übertragen.
3. Die Übergabe als Referenz ist ein Alias mit einer Referenz als tatsächlichem Parameter, der dieselbe Variable wie der tatsächliche Parameter ist.
Beispielcode
Übergabe nach Wert
#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; }
Übergabe nach Adresse
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; }
Übergabe nach Referenz
#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; }
Empfohlenes Tutorial: „C#-Tutorial“
Das obige ist der detaillierte Inhalt vonDrei Möglichkeiten, Parameter an eine Funktion zu übergeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!