赞
踩
//例一:
#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;
}

以上例子的解释纯属个人总结,如果有错误或不恰当的地方请留言指教,多谢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。