Heim  >  Artikel  >  Drei Möglichkeiten, Parameter an eine Funktion zu übergeben

Drei Möglichkeiten, Parameter an eine Funktion zu übergeben

Guanhui
GuanhuiOriginal
2020-06-02 15:52:365811Durchsuche

Drei Möglichkeiten, Parameter an eine Funktion zu übergeben

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn