Die Beziehung zwischen formalen Parametern und tatsächlichen Parametern in der C-Sprache ist: Der formale Parameter ist eine Kopie des Werts des tatsächlichen Parameters. Unabhängig vom Typ des Parameters sind die an die Unterfunktion übergebenen formalen Parameter nur die Werte der tatsächlichen Parameter. Daher hat die Änderung des Werts der formalen Parametervariablen selbst nichts mit den tatsächlichen Parametern zu tun. Mit anderen Worten: Änderungen an den formalen Parametern haben keinen Einfluss auf die tatsächlichen Parameter.
Wenn der Parametertyp jedoch ein Zeigertyp ist, können Sie die Daten in der tatsächlichen Parameteradresse ändern, indem Sie die Daten in der Adresse ändern, auf die die Zeigervariable zeigt.
Daher müssen bei Verwendung der SWAP-Funktion für den Datenaustausch zwei Punkte gewährleistet sein:
Der Parameter muss ein Zeigertyp sein, der auf die auszutauschenden Daten zeigt.
Beim Austausch müssen die Daten in der Adresse ausgetauscht werden. nicht die Adresse selbst.
Referenzcode:
//Falscher Austauschcode 1
voidswap1(inta,intb)//Der Parameter ist kein Zeiger auf die auszutauschenden Daten
{
intt=a;
a=b;
b= t;
}
//Falscher Austauschcode 2
voidswap2(int*a,int*b)
{
int*t=a;//Die formale Parametervariable selbst austauschen
a=b;
b=t;
}
//Korrekter Austauschcode
voidswap(int*a,int*b)
{
intt=*a;//Daten im Formalen austauschen Parametervariablenadresse, Zeigervariablen bleiben unverändert
*a=*b;
*b=t;
}
Das Poster muss tiefer sein Verständnis der Parameter und Rückgabewerte der Funktion~
Zunächst: Der Rückgabewert einer Funktion darf nur eine Variable sein. Die Rückgabe(a,b) in Ihrer Swap-Funktion darf die Kompilierung nicht bestehen~
At Gleichzeitig können die Parameter der Funktion in drei Formen übergeben werden: Adresse, Wert und Referenz. In Ihrem Fall wird empfohlen, die Zeigermethode zu verwenden, um die Werte von a und b im Swap direkt zu ändern . Der Code lautet wie folgt:
void swap(int*a, int*b)
{
int t;
t=*a;
*a=*b;
*b= t;
}
Die in main aufgerufene Methode ist swap(&a,&b);
Das obige ist der detaillierte Inhalt vonAn welchen Börsen (Währungsbörsen) sind CSWAP-Münzen gelistet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!