C语言和C++函数传参:变量、指针、数组、结构体的地址结果(形参实参)

在这里插入图片描述
结论:实参传的什么值,形参就接收到什么值(不管是地址还是数字什么的),而形参都是在该函数的系统栈中临时创建的,形参具有新的地址。
需要注意的是:结构体也是一种数据类型,如果实参是结构体并且是想传地址的话需要在前面加上&(和基本数据类型一样)

#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;
}

猜你喜欢

转载自blog.csdn.net/weixin_47964723/article/details/123172034