c语言中,形参指针变量的值改变不能使实参指针变量的地址发生改变,而可以改变它的值。请问这句话对么?
请问:1、形参指针变量的值改变不能使实参指针变量的地址发生改变,而可以改变它的值。请问这句话对么?2、要修改的话怎么修改?...
请问:
1、形参指针变量的值改变不能使实参指针变量的地址发生改变,而可以改变它的值。请问这句话对么?
2、要修改的话怎么修改? 展开
1、形参指针变量的值改变不能使实参指针变量的地址发生改变,而可以改变它的值。请问这句话对么?
2、要修改的话怎么修改? 展开
6个回答
展开全部
这个总共有两个问题:
第一个是“实参指针变量的地址”应该改为“实参指针变量的值”。实参指针变量的值是指该指针指向的变量的地址,而实参指针变量的地址则是该指针变量的地址,属于二维指针了。
第二个是个语文问题:后面的“可以改变它的值”,这个它具体是指形参指针变量还是指实参指针变量呢?又或者是指实参指针指向的变量呢?
所以正确的说法是:
c语言中,形参指针变量的值改变不能使实参指针变量的值发生改变,而可以改变形参指针变量的值,也可以改变实参指针指向的变量的值。
O(∩_∩)O~
第一个是“实参指针变量的地址”应该改为“实参指针变量的值”。实参指针变量的值是指该指针指向的变量的地址,而实参指针变量的地址则是该指针变量的地址,属于二维指针了。
第二个是个语文问题:后面的“可以改变它的值”,这个它具体是指形参指针变量还是指实参指针变量呢?又或者是指实参指针指向的变量呢?
所以正确的说法是:
c语言中,形参指针变量的值改变不能使实参指针变量的值发生改变,而可以改变形参指针变量的值,也可以改变实参指针指向的变量的值。
O(∩_∩)O~
展开全部
正确。实参传给型参的只是一个地址,你可以改变地址里的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确,
上代码:
void fun(int* p)
{
p=p+1;
printf("%p\n",p);
}
int main(void)
{
int a=3,*b=&a;
printf("%p\n",b);
fun(b);
printf("%p\n",b);
return 0;
}
运行一下,一目了然!
上代码:
void fun(int* p)
{
p=p+1;
printf("%p\n",p);
}
int main(void)
{
int a=3,*b=&a;
printf("%p\n",b);
fun(b);
printf("%p\n",b);
return 0;
}
运行一下,一目了然!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.正确
2.使用二级指针,即传指针的地址
2.使用二级指针,即传指针的地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询