C++:指针与函数,在函数的形参和实参中,到底什么时候用*,什么时候用&,什么时候用*&,还有**
就是在函数声明和调用函数的时候,声明写的是int*pmax,到调用函数的时候就写的是&max,为什么用的不一样啊,我这里学的不是很好,可以具体讲讲吗,最好能把所有情况都说...
就是在函数声明和调用函数的时候,声明写的是int *pmax,到调用函数的时候就写的是&max,为什么用的不一样啊,我这里学的不是很好,可以具体讲讲吗,最好能把所有情况都说一说
展开
4个回答
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*
而&差不多就是相反的过程
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当拟用被调函数来改变主调函数中的变量值时得考虑使用指针,否则不可能达到永久性改变主调函数中的变量值的目的;当被调函数用来操作主调函数中的数组时就使用指针形参,否则无法操作成功;有些操作是用不用指针都可行的,但用指针显得更简单明了,所以为了简化代码设计也考虑使用指针形参……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
这个是配套使用的。
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);
这个是配套使用的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里只给你讲明白一个实例,通过举一反三,你对*和&在函数调用中的用法有一个明确的认识,那就不会用错了。
发送出去后才发现已经有最佳答案了,算了吧,不浪费时间了。
发送出去后才发现已经有最佳答案了,算了吧,不浪费时间了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询