请问 有两个函数 定义为 func(int *a,int *b); func(int &a,int &b); 请问这两个函数的差别!!!是什么

如题所述

一个用指针做参数,一个是用引用做参数。
c++里引用很常用的,引用就相当于一个变量的别名,举个例子:
int a=10;
int &b = a; //这里b就是a的引用,也就是a的别名
如果你改变b,a也会跟着改变,如:
b = b+10;
这时b为20,a也为20了
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-28
第一个函数,他的参数是两个指向int数据类型的指针变量 ,第二个函数,他的参数,是两个int数据类型变量的引用。
第2个回答  2012-04-28
第一个:函数形参都是指向int型的指针
第二个:很少这样用

请问 有两个函数 定义为 func(int *a,int *b); func(int &a,int &b...
int &b = a; \/\/这里b就是a的引用,也就是a的别名 如果你改变b,a也会跟着改变,如:b = b+10;这时b为20,a也为20了

func(const int&) func(int&)有什么区别?
c++里的吗?func(const int&)表示引用参数在函数里是不能被修改的,而后者没有该限制

#include stdio.h void func(int*a,int b[])
void func(int *a,int b[]) { b[0] = *a + 6;} void main() { int a,b[5];a = 0;b[0] = 3;func(&a,b);printf("%d\\n" ,b[0]);}

C 语言中 int funct(int * A) 和 int func(int & A) 的区别
很简单,是引用,也就是说,在被调用的函数里可以改变A的值。

定义函数 int func(int a, int b); func功能为:使用辗转相除法求a和b...
include "stdlib.h"int func(int a, int b){ if (a == b) return a;if (a > b)return func(a-b, b);else return func(b-a, a);} void main(){ int a,b;printf("请输入两个整数,以逗号间隔 :");scanf("%d, %d", &a, &b);printf("最大公约数是 %d\\n", func(a,...

void func(int *a,int b[]) { b[0]=*a+6; } main() {
因为你调用func函数在后,,定义b[O]在前。。你要是想输出3,,就要把 b[0]=3;func(&a,b);这两个语句调换一下顺序,,b[0]=3;在后。。func(&a,b);在前。。因为程序是从上往下读的。。

func(int a,int b,int c)为什么输出结果不确定讲解一下过程谢谢_百度知 ...
实参只是将值传递给形参,形参在调用函数内的变化,并不会影响到原来的实参,这两个是独立存在的. main函数中,c并没有赋值,是个不确定的值,这个值传递到func的第三个参数上,不管在func里面怎么变化,main函数里面的c都不会改变,还是个不确定的值 ...

C++习题:输入两整数交换后输出
解决2 void func(int &a,int &b){ int t;t=a;a=b;b=t;} 如果你对指针头疼那么这种方法好理解 引用方法 一个变量引用呢就是指建立这个变量的别名 你就可以认为 一个变量的引用和这个变量时同一个变量 你的代码不就是认为 a b就是xy了吗 这种方法正好符合了你的想法 哎呀 我打了这么多 ...

func(int a,int b) {return a+b);} main() {int x=6,y=7,z; z=fun...
2.--x表示本次计算x就采用原来的值-1进行计算 3.函数处理顺序为自右向左;下面开始分析z=fun(fun(x++,y++),fun(--x,--y))(1)根据规则3先计算fun(--x,--y),根据规则2,此时采取x=6-1,y=7-1带入计算得到 fun(--x,--y)=11;此时x=5,y=6 (2)根据规则3再计算fun(x++...

...func(int x,int *p); void main( ) { int a=1,b=2,c; c=func(a...
func作用是将传入的第二个参数改为x+2+1=x+3,并返回2x+2+2=2x+4,所以 int a=1,b=2,c;c=func(a,&b); \/\/这句执行后b=a+3=4 c=2*a+4=6 b=func(c,&b);\/\/同上,b=2*6+4=16 a=func(b,&c);\/\/ c=16+3=19 a=2*16+4=36 即abc分别为36 16 19 ...

相似回答