C++ 函数的指针参数
教程导读
学研发网的这篇信息学奥赛技术教程文章主要介绍了C++ 函数的指针参数,现在分享给大家,供学习和参考。文章包含943字,纯文字阅读大概需要3分钟。
教程信息
学习目标
掌握函数的指针参数
理解教程练习代码
一、函数参数:传值和传引用
传值:形参是实参的拷贝,并不会改变实参的值。
传引用:形参(加&符号)就是实参,会改变实参的值。
//传值 void chuanZhi(int num){ num += 10; } //传引用 void chuanYinYong(int &num){ num += 10; } int main(){ int num = 5; chuanZhi(5); cout << num << endl; //5 chuanYinYong(num); cout << num << endl; //15 return 0; }
二、函数参数:传指针
函数定义中的参数如果是指针类型,那么在传入实参的时候,传的地址。
//联想推导一下 int a = 100; int *p; p = &a;
如果 *p 作为函数的参数,需要传变量的地址。
//传指针 void chuanZhiZhen(int *p){ *p += 10; } int main(){ int num = 5; chuanZhiZhen(&num); //传地址 cout << num << endl; //15 return 0; }
传引用和传指针都是对实参有影响的。
三、函数参数:传数组
如果想将一个数组作为参数传递给函数,可以用数组指针来传递。
//求和 int sum(int *p, int size){ //也可以直接传数组,int sum(int p[], int size){ int sum = 0; for(int i = 0; i < size; i++){ sum += p[i]; } return sum; } int main(){ int a[] = {10,20,30,40,50}; int b = sum(a, 5); //a是数组的首地址,也可以用 &(a[0]) cout << b << endl; return 0; }
注意:函数在传数组(参数)的时候,都会退化为指针,所以不能用 sizeof 来获取数组的大小。可以先计算好数组的长度,作为参数传进去。
int size = sizeof(a)/sizeof(a[0]); int b = sum(a, size);
教程咨询
如果章节内容看不懂,可以联系作者。
教程总结
以上是学研发网为您提供C++ 函数的指针参数的全部内容,希望教程文章能够帮你了解学习C++ 函数的指针参数,解决所遇到的问题。 如果觉得学研发网信息学奥赛教程内容还不错,欢迎将学研发网网站推荐给身边需要的人。
教程备注
版权声明:教程内容为学研发网整理和编写,如需转载请联系站长并附上文章原始链接和原始作者信息。
手机阅读
扫描二维码推送至手机访问。
本文链接:http://www.xueyanfa.com/xinaojiaocheng/xinaocpp-97.html