扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
p函数就是个冒泡递减排序功能。标准函数头写法应该是void p(int a[])而不是void p(int a[5]),即使写成void p(int a[5]),编译器也是按void p(int a[])解释而不按void p(int a[5])解释,而且这里a[]的意思就是定义a是int *型指针。函数p中并没有改变a,改变的是a指向的目标a[0]~a[4]。所以不知你问的具体是啥意思……
成都创新互联专注于江西网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供江西营销型网站建设,江西网站制作、江西网页设计、江西网站官网定制、微信平台小程序开发服务,打造江西网络公司原创品牌,更为您提供江西网站排名全网营销落地服务。
值传递,调用函数的时候传给调用函数的是变量的值,例如:
定义 max函数:
int max(int a,int b){
if(ab) return a;
else return b;
}
调用max函数的时候这样调用:
int a=1;
int b=2;
int m;
m = max(a,b);
址传递调用函数的时候传给调用函数的是变量的地址,例如:
定义交换函数:
void swap(int *a,int *b){
int t;
t = *a;
*a = *b;
*b = t;
}
调用swap函数的时候这样调用:
int a=1;
int b=2;
swap(a,b);
调用swap函数后,a,b中的值进行了交换。
注意:这里的int可以换成其他类型的数据,比如double,char甚至指针类型。
return是用来做函数返回值的(也就是说函数也是有其类型的),比如函数定义为int类型,则return返回的也是int型(不管你return后面跟的是什么类型,都要被强制转换为int型)。形参传递都是对实参值的拷贝,指针变量传递过去的是地址(也是拷贝哦,只不过是地址),然后在函数中通过地址直接操作地址中所保存的变量的值(相当于直接操作变量)来达到更改实参指针所指向的变量的值(有点拗,不懂可以联系我,慢慢讲解一下,指针是非常重要的哦)。接下来讲解一下int
*p(int
*pA);
首先你定义的是一个指针函数(即该函数返回值是一个指针,并且是一个指向int类型的指针,也可以研究一下函数指针的作用哦),然后该函数的参数也是一个指向Int类型的指针变量。调用该函数时,传递给pA的是指针(指针的意思就是地址,指针变量是用来存放该地址的变量),也是实参指针变量的值的拷贝(明白了吧?^_^);接下来是返回值,从定义只能看出,其返回值为指向int类型的指针,而这个指针指向什么地址,就要看你的具体return返回值语句了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流