C语言中关于指针的问题?

voidfind1(chararray[],charsearch,char*pa){inti;for(i=0;*(array+i)!=0;i++){if(*(array+... void find1(char array[], char search, char * pa)
{
int i;
for (i=0;*(array+i)!=0;i++)
{
if (*(array+i)==search)
{
pa=array+i;
break;
}
else if (*(array+i)==0)
{
pa=0; //与fun2中(* pa)=0,在程序里面对输出结果有什么不同?
break;
}
}
}

void find2(char array[], char search, char** pa)
{
int i;
for (i=0;*(array+i)!=0;i++)
{
if (*(array+i)==search)
{
(*pa)=array+i;
break;
}
else if (*(array+i)==0)
{
(*pa)=0; //与fun1中pa=0,在程序里面对输出结果有什么不同?
break;
}
}
}

请大侠帮小弟解释一下上面的疑问,小弟菜鸟。谢谢大侠了!!!
展开
 我来答
kaixingui2012
推荐于2016-06-18 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:7775万
展开全部
我只想说一点:
对于形参,无论它是什么类型的变量,只要改变的是形参变量本身,则就与实参没有任何关系!

如果形参是指针类型,且函数中,修改的内容是指针所指向的地址中的内容,而不是指针变量本身,则实参所对应的数据就会发生变化。

find1中改变的就是形参pa本身
find2中改变的是形参pa所指向的地址中的内容
手机用户15055
2014-08-31 · 超过69用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:136万
展开全部
好像有点多此一举,直接使用rsNum就可以了。rsNum 就是数组的首地址了。
如果一定要用指针就是要申明一个指针来赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式