结论:实参传的什么值,形参就接收到什么值(不管是地址还是数字什么的),而形参都是在该函数的系统栈中临时创建的,形参具有新的地址。
需要注意的是:结构体也是一种数据类型,如果实参是结构体并且是想传地址的话需要在前面加上&(和基本数据类型一样)
#include <stdio.h>
void parameter_try(int arr[],int *p,int x)
{
printf("\n\n形参数组arr 的首元素地址:%d(相同)",arr);
printf("\n形参指针p 指向的地址:%d(相同)",p);
printf("\n形参指针p 的地址:%d(不相同)",p);
printf("\n形参x 的地址:%d(不相同)",&x);
}
int main()
{
int arr[]={
1,2},*p,x=0;
printf("\n实参数组arr 的首元素地址:%d",arr);
printf("\n实参指针p 指向的地址:%d",p);
printf("\n实参指针p 的地址:%d",&p);
printf("\n实参x 的地址:%d",&x);
parameter_try(arr,p,x);
return 0;
}