• 指针参数


    使用指针变量作为函数参数,可以在局部函数里改变函数外部变量的值,可以更好的模块化和封装。

    例子1:

    #include<stdio.h>
    
    void  swap(int a,int b){
        int temp;
        temp = a;
        a=b;
        b=temp;
    }
    int  main(void)
    {
        int a=1,b=2;
        swap(a,b);
        printf("a=%d  b=%d 
    ",a,b);
        return 0;
    }

    此例子的目的是通过函数swap交换a,b的值,交换前,a=1,b=2

    运行结果:

    a=1 b=2

    可以看到交换失败,原因是swap函数里面都是局部变量的交换,当函数执行完毕后,变量被回收,不会影响函数外部的值

    例子2:

    #include<stdio.h>
    
    void  swap(int *a,int* b){
        int temp;
        temp = *a;
        *a=*b;
        *b=temp;
    }
    int  main(void)
    {
        int a=1,b=2;
        swap(&a,&b);
        printf("a=%d  b=%d 
    ",a,b);
        return 0;
    }

    运行结果:

    a=2 b=1

    将swap函数的参数修改为指针变量后,交换结果会影响a,b的值,虽然函数执行完毕后,指针变量不存在,但是在函数内部的执行对a,b的影响是持久化的。

  • 相关阅读:
    假期周总结七
    假期周总结六
    假期周总结五
    假期周总结四
    假期周总结三
    假期总结二
    假期周总结一
    项目目标分析
    lightoj 1013
    lightoj 1012
  • 原文地址:https://www.cnblogs.com/jason207489550/p/6665220.html
Copyright © 2020-2023  润新知