指针传参和返回问题
在主函数把一个非空指针传到子函数里,让他指向新的地址,然后返回,在主函数里这个指针指向什么地方?
#include
int *test(int *a)
{
a=NULL;
return a;
}
void main()
{
int b=3;
int *a=&b;
printf("%d\n",test(a));
printf("*a=%d a=%d\n",*a,a);
getchar();
}
输出结果为:
0
3 1244996
谁能解释一下,到底子函数返回的是个什么?
指针
返回指针
分享到:
------解决方案--------------------
两个指针变量有各自的内存,存储的是同一个地址而已。
------解决方案--------------------
#include
int *test(int **a)//修改参数得用指针的指针,因为函数的参数只是一份拷贝。
{
*a=NULL;
return *a;
}
void main()
{
int b=3;
int *a=&b;
printf("%d\n&#