#include<stdio.h>
#include<stdlib.h>
void fun(double *p1,double *p2,double *s)
{s=(double *)calloc(1,sizeof(double));
*s=p1+(p2+1);
}
main()
{
double a[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;
fun(a,b,s);
printf("%5.2f\n",*s);
}
我理解的是数组名传递给形参指针,开辟新的内存空间地址给指针,然后写入数据
为啥结果是没有改变s指向的内存单元。
啊已经糊掉了,求解😔
我好像想到了什么,此s非彼s。形参指针s指向的空间变了,实参s还是指向的数组a,是酱紫吗