2。传递的三种方式
值传递 引用传递 参数传递 (10分)
8 个解决方案
#1
void sum(int &a, int b) //a和b是形参,a是传引用,b是传值
{
a = a + b;
}
void main()
{
int x = 1;
sum(x, 2); //x 和 2是实参
}
{
a = a + b;
}
void main()
{
int x = 1;
sum(x, 2); //x 和 2是实参
}
#2
&a 是什么意思?
#3
&a是表示一个引用 用引用就是直接传递数值
实际参数一般是主函数中的参数 形式参数一般是用户自定义函数中的参数 函数的调用是通过实际参数向形式参数传递值来实现的
实际参数一般是主函数中的参数 形式参数一般是用户自定义函数中的参数 函数的调用是通过实际参数向形式参数传递值来实现的
#4
&a是C++里面的用法,在这里表示传入的是一个引用
实际参数就是在参数调用的时候真正被引用的那个变量,而形式参数就是在定义函数的时候用的那些变量
实际参数就是在参数调用的时候真正被引用的那个变量,而形式参数就是在定义函数的时候用的那些变量
#5
http://expert.csdn.net/Expert/topic/2808/2808071.xml?temp=.7375757
看这个就知道引用与不引用的区别
看这个就知道引用与不引用的区别
#6
你这两个问题都是与属于函数调用的基本问题:
1、在函数调用时,必须传递给函数某些在函数体中将要完成某些功能的信息,在函数调用的时候,用于接收信息(也就是说定义于函数接口中的参数)我们称之为形式参数;而用于发送信息的具体值我们称之为实际参数;例如:int max(int x,int y){//......}其中的x,y是形式参数,而在调用max函数时如:int a,b=10,c=5;a=max(b,c)其中的b,c是实际参数;
2、对于一个变量在内存中的值,有两种方法来访问:第一种是直接访问,也就是说通过直接访问代表这块内存的标识(即变量名);第二种是通过访问用于指代这块内存地址的指针或引用。指针可以多次赋值且不必定义的时候就对其进行初始化,而引用则必须在定义的对其进行初始化且不能改变它的指向,没有对引用的操作,一切操作均是针对于引用变量所指代的那个变量。理解普通变量、指针变量和引用的概念在C++程序设计中是至关重要的。回到正题,普通变量在函数调用中是按值传递(也就是说把实参的值拷贝给形参),由于形参变量的生命期只限于这个函数调用结束,这意谓着这个函数的调用将不会对实际参数进行任何修改;指针和引用则不然,由于它们所指代是这个变量的地址,所以对它们进行任何的改动将会使得实参的改动。举个例子:
int a,b=10,c=5;
int *d=&b;//定义一个指针变量指向于变量b
int *e=&c;//定义一个指针变量指向于变量c
a=max(b,c);//按值传递参数,注意由于形参和实参所处的内存不是同一块,所以可以同名
//第一种调用max函数的原形为int max(int,int);
a=max(d,e)//或a=max(&b,&c);按指针传递,max函数原形为int max(int *,int *);传递给max的实参是变量b,c的地址或指向于b,c的指针;这是max函数的第二种调用
第三种调用和第一种方法一样,所不同的是max函数的形参是int形的引用参数即int max(int &,int &);
区别变量、指针变量和引用也是C++程序设计的难点,我说了这么多,希望对问题有所解决。
1、在函数调用时,必须传递给函数某些在函数体中将要完成某些功能的信息,在函数调用的时候,用于接收信息(也就是说定义于函数接口中的参数)我们称之为形式参数;而用于发送信息的具体值我们称之为实际参数;例如:int max(int x,int y){//......}其中的x,y是形式参数,而在调用max函数时如:int a,b=10,c=5;a=max(b,c)其中的b,c是实际参数;
2、对于一个变量在内存中的值,有两种方法来访问:第一种是直接访问,也就是说通过直接访问代表这块内存的标识(即变量名);第二种是通过访问用于指代这块内存地址的指针或引用。指针可以多次赋值且不必定义的时候就对其进行初始化,而引用则必须在定义的对其进行初始化且不能改变它的指向,没有对引用的操作,一切操作均是针对于引用变量所指代的那个变量。理解普通变量、指针变量和引用的概念在C++程序设计中是至关重要的。回到正题,普通变量在函数调用中是按值传递(也就是说把实参的值拷贝给形参),由于形参变量的生命期只限于这个函数调用结束,这意谓着这个函数的调用将不会对实际参数进行任何修改;指针和引用则不然,由于它们所指代是这个变量的地址,所以对它们进行任何的改动将会使得实参的改动。举个例子:
int a,b=10,c=5;
int *d=&b;//定义一个指针变量指向于变量b
int *e=&c;//定义一个指针变量指向于变量c
a=max(b,c);//按值传递参数,注意由于形参和实参所处的内存不是同一块,所以可以同名
//第一种调用max函数的原形为int max(int,int);
a=max(d,e)//或a=max(&b,&c);按指针传递,max函数原形为int max(int *,int *);传递给max的实参是变量b,c的地址或指向于b,c的指针;这是max函数的第二种调用
第三种调用和第一种方法一样,所不同的是max函数的形参是int形的引用参数即int max(int &,int &);
区别变量、指针变量和引用也是C++程序设计的难点,我说了这么多,希望对问题有所解决。
#7
你只要记住,在C语言中只有值传递,指针也传递的是一个值。而引用不过是对指针的另一种包装形式。
#8
记住,值传递不会被传递的参数的原值,
而引用传递,也是值传递的一种,只是
它传递的是地址。c语言概念一定要掌握
清楚。
而引用传递,也是值传递的一种,只是
它传递的是地址。c语言概念一定要掌握
清楚。
#1
void sum(int &a, int b) //a和b是形参,a是传引用,b是传值
{
a = a + b;
}
void main()
{
int x = 1;
sum(x, 2); //x 和 2是实参
}
{
a = a + b;
}
void main()
{
int x = 1;
sum(x, 2); //x 和 2是实参
}
#2
&a 是什么意思?
#3
&a是表示一个引用 用引用就是直接传递数值
实际参数一般是主函数中的参数 形式参数一般是用户自定义函数中的参数 函数的调用是通过实际参数向形式参数传递值来实现的
实际参数一般是主函数中的参数 形式参数一般是用户自定义函数中的参数 函数的调用是通过实际参数向形式参数传递值来实现的
#4
&a是C++里面的用法,在这里表示传入的是一个引用
实际参数就是在参数调用的时候真正被引用的那个变量,而形式参数就是在定义函数的时候用的那些变量
实际参数就是在参数调用的时候真正被引用的那个变量,而形式参数就是在定义函数的时候用的那些变量
#5
http://expert.csdn.net/Expert/topic/2808/2808071.xml?temp=.7375757
看这个就知道引用与不引用的区别
看这个就知道引用与不引用的区别
#6
你这两个问题都是与属于函数调用的基本问题:
1、在函数调用时,必须传递给函数某些在函数体中将要完成某些功能的信息,在函数调用的时候,用于接收信息(也就是说定义于函数接口中的参数)我们称之为形式参数;而用于发送信息的具体值我们称之为实际参数;例如:int max(int x,int y){//......}其中的x,y是形式参数,而在调用max函数时如:int a,b=10,c=5;a=max(b,c)其中的b,c是实际参数;
2、对于一个变量在内存中的值,有两种方法来访问:第一种是直接访问,也就是说通过直接访问代表这块内存的标识(即变量名);第二种是通过访问用于指代这块内存地址的指针或引用。指针可以多次赋值且不必定义的时候就对其进行初始化,而引用则必须在定义的对其进行初始化且不能改变它的指向,没有对引用的操作,一切操作均是针对于引用变量所指代的那个变量。理解普通变量、指针变量和引用的概念在C++程序设计中是至关重要的。回到正题,普通变量在函数调用中是按值传递(也就是说把实参的值拷贝给形参),由于形参变量的生命期只限于这个函数调用结束,这意谓着这个函数的调用将不会对实际参数进行任何修改;指针和引用则不然,由于它们所指代是这个变量的地址,所以对它们进行任何的改动将会使得实参的改动。举个例子:
int a,b=10,c=5;
int *d=&b;//定义一个指针变量指向于变量b
int *e=&c;//定义一个指针变量指向于变量c
a=max(b,c);//按值传递参数,注意由于形参和实参所处的内存不是同一块,所以可以同名
//第一种调用max函数的原形为int max(int,int);
a=max(d,e)//或a=max(&b,&c);按指针传递,max函数原形为int max(int *,int *);传递给max的实参是变量b,c的地址或指向于b,c的指针;这是max函数的第二种调用
第三种调用和第一种方法一样,所不同的是max函数的形参是int形的引用参数即int max(int &,int &);
区别变量、指针变量和引用也是C++程序设计的难点,我说了这么多,希望对问题有所解决。
1、在函数调用时,必须传递给函数某些在函数体中将要完成某些功能的信息,在函数调用的时候,用于接收信息(也就是说定义于函数接口中的参数)我们称之为形式参数;而用于发送信息的具体值我们称之为实际参数;例如:int max(int x,int y){//......}其中的x,y是形式参数,而在调用max函数时如:int a,b=10,c=5;a=max(b,c)其中的b,c是实际参数;
2、对于一个变量在内存中的值,有两种方法来访问:第一种是直接访问,也就是说通过直接访问代表这块内存的标识(即变量名);第二种是通过访问用于指代这块内存地址的指针或引用。指针可以多次赋值且不必定义的时候就对其进行初始化,而引用则必须在定义的对其进行初始化且不能改变它的指向,没有对引用的操作,一切操作均是针对于引用变量所指代的那个变量。理解普通变量、指针变量和引用的概念在C++程序设计中是至关重要的。回到正题,普通变量在函数调用中是按值传递(也就是说把实参的值拷贝给形参),由于形参变量的生命期只限于这个函数调用结束,这意谓着这个函数的调用将不会对实际参数进行任何修改;指针和引用则不然,由于它们所指代是这个变量的地址,所以对它们进行任何的改动将会使得实参的改动。举个例子:
int a,b=10,c=5;
int *d=&b;//定义一个指针变量指向于变量b
int *e=&c;//定义一个指针变量指向于变量c
a=max(b,c);//按值传递参数,注意由于形参和实参所处的内存不是同一块,所以可以同名
//第一种调用max函数的原形为int max(int,int);
a=max(d,e)//或a=max(&b,&c);按指针传递,max函数原形为int max(int *,int *);传递给max的实参是变量b,c的地址或指向于b,c的指针;这是max函数的第二种调用
第三种调用和第一种方法一样,所不同的是max函数的形参是int形的引用参数即int max(int &,int &);
区别变量、指针变量和引用也是C++程序设计的难点,我说了这么多,希望对问题有所解决。
#7
你只要记住,在C语言中只有值传递,指针也传递的是一个值。而引用不过是对指针的另一种包装形式。
#8
记住,值传递不会被传递的参数的原值,
而引用传递,也是值传递的一种,只是
它传递的是地址。c语言概念一定要掌握
清楚。
而引用传递,也是值传递的一种,只是
它传递的是地址。c语言概念一定要掌握
清楚。