C语言提高-第6讲: 参数传递方式(传值与传地址)

本文详细探讨了C语言中参数传递的方式,重点在于传值与传地址的区别。通过实例分析,指出在函数调用时,地址交换无法直接影响主函数中的变量值,必须通过赋值操作来改变。同时,介绍了指针和地址的基本概念,包括指针的类型特性以及地址的局限性,帮助读者更好地理解C语言中指针的使用。
摘要由CSDN通过智能技术生成

任务和代码:

 /* 
*All rights reserved 
*文件名称:main.c 
*作者: Osseyda 
完成日期:2017.10.11 
*版本号:v2. 
* 
*问题描述:认真分析下面的代码,掌握函数参数传递中
           指针,地址,值的变化规律
*/   
    #include<stdio.h>
    void fun(int *a, int *b, int *c)
    {
        int temp;
        temp=a;
        a=b;
        b=temp;
        *temp=*b;
        *b=*c;
        *c=*temp;
    }
    int main()
    {
        int a,b,c,*p1,*p2,*p3;
        a=5;
        b=7;
        c=3;
        p1=&a;
        p2=&b;
        p3=&c;
        fun(p1,p2,p3);
        printf("%d,%d,%d\n",a,b,c);
        return 0;
    }

运行结果:


分析过程:

        p1=&a; 指针p1指向a=5这个值的地址   经过函数fun(p1,p2,p3)的内部运算,得到变量a,b,c的值

        函数的参数传递是按址传递的&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值