C++:指针与函数,在函数的形参和实参中,到底什么时候用*,什么时候用&,什么时候用*&,还有**

就是在函数声明和调用函数的时候,声明写的是int*pmax,到调用函数的时候就写的是&max,为什么用的不一样啊,我这里学的不是很好,可以具体讲讲吗,最好能把所有情况都说... 就是在函数声明和调用函数的时候,声明写的是int *pmax,到调用函数的时候就写的是&max,为什么用的不一样啊,我这里学的不是很好,可以具体讲讲吗,最好能把所有情况都说一说 展开
 我来答
匿名用户
2019-01-05
展开全部

首先你要理解*和&的含义

注意类型

int *p;//p是指针类型,指向int
int **pp;//pp是指针类型,指向int*
int ***ppp;//ppp是指针类型,指向int**

分割开来看就是

int (*p);//p是指针类型,指向int;*p是int类型
int *(*pp)//pp是指针类型,指向int*;*pp是指针类型,指向int
int **(*ppp)//ppp是指针类型,指向int**;*ppp是指针类型,指向int*

而&差不多就是相反的过程

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
犹秀逸0Fy
2019-01-05 · TA获得超过1524个赞
知道大有可为答主
回答量:1900
采纳率:0%
帮助的人:251万
展开全部
当拟用被调函数来改变主调函数中的变量值时得考虑使用指针,否则不可能达到永久性改变主调函数中的变量值的目的;当被调函数用来操作主调函数中的数组时就使用指针形参,否则无法操作成功;有些操作是用不用指针都可行的,但用指针显得更简单明了,所以为了简化代码设计也考虑使用指针形参……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秦思189
2019-01-05 · 超过30用户采纳过TA的回答
知道答主
回答量:209
采纳率:40%
帮助的人:31万
展开全部
int a=3,b=5 ;
printf( "max=%d\n" , max(a,b) ); //这里的a,b就是实参

int max( int a , int b ) ;//这里的a,b就是形参

在main函数中
调用函数swap(&a,&b);
定义函数时:
void swap(int *a, int *b);

这个是配套使用的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Yuqi_Tan

2019-01-06 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3486万
展开全部
这里只给你讲明白一个实例,通过举一反三,你对*和&在函数调用中的用法有一个明确的认识,那就不会用错了。
发送出去后才发现已经有最佳答案了,算了吧,不浪费时间了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式