您的位置:首页 > 其它

如何通过函数修改实参的值

2017-11-07 20:30 113 查看
//例一:

#include<stdio.h>
void f(int **q);
int main ()
{
int i=9;
int *p=&i;  //相当于 int *p;p=&i;

printf("%p\n",p);// %p是读取地址

f(&p);//p为  int*类型;
printf ("%p\n",p);

return 0;
}

void f(int **q)//用**是因为要想将q的值传给p,并且p是int * 类型,所以&p要与int **q对应。
{
*q=(int *)0XFFFFFFFF;
}

/* 如果想要通过f函数修改实参的值,只需要在在调用的f函数中对该参数取地址。
如以上例子中,要改变i的值,对i加上p指针后,对p取地址,然后对p进行传值即可。*/

//例二

#include<stdio.h>
void f(int *q);
int main ()
{
int i=9;

printf("%d\n",i);

f(&i);
printf ("%d\n",i);

return 0;
}

void f(int *q)
{
*q=99;
}


以上例子的解释纯属个人总结,如果有错误或不恰当的地方请留言指教,多谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐