zoukankan      html  css  js  c++  java
  • C 函数与指针(function & pointer)

    C 函数与指针(function & pointer)

    /*
     * function.c
     * 函数在C中的使用
     * */
    
    #include <stdio.h>
    
    int noswap(int x, int y)
    {
        /*
         * 函数会将传进来的参数复制一份,所以main中的x和y和noswap函数中的x和y的地址不同
         * 因而,在这个函数中对x和y的操作并不会影响到main函数中的x和y
         * */
        printf("在noswap函数中:
    ");
        printf("x的值为%d,地址为%p
    ", x, &x);
        printf("y的值为%d,地址为%p
    ", y, &y);
    
        int tmp = x;
        x = y;
        y = tmp;
    }
    
    int swap(int *x, int *y)
    {
        /*
         * 在这个函数中,参数是两个指针,这两个指针存储的main函数中x和y的地址
         * 因此,可以通过这两个指针,对main函数中的x和y进行调换
         * */
        printf("在swap函数中:
    ");
        printf("指针x指向的地址为%p,值为%d,指针本身的地址为%p
    ", x, *x, &x);
        printf("指针y指向的地址为%p,值为%d,指针本身的地址为%p
    ", y, *y, &y);
    
        int tmp = *x;
        *x = *y;
        *y = tmp;
    }
    
    int main(void)
    {
        int x = 3, y = 5;
    
        printf("在main函数中:
    ");
        printf("x的值为%d,地址为%p
    ", x, &x);
        printf("y的值为%d,地址为%p
    ", y, &y);
    
        noswap(x, y);
        printf("经过noswap函数,x=%d,y=%d
    ", x, y);
    
        swap(&x, &y);
        printf("经过swap函数,x=%d,y=%d
    ", x, y);
    
        return 0;
    }
  • 相关阅读:
    Uipath-Close Application和Close Window区别
    我与某猪同学斗智斗勇的那些事
    可视报表(Project)
    自定义函数(Power Query 之 M 语言)
    报表(Project)
    拆分…Split…(Power Query 之 M 语言)
    参加Mos考试
    主要视图展示(Project)
    听听文档(视频)-Power Pivot
    突出显示(Project)
  • 原文地址:https://www.cnblogs.com/noonjuan/p/12070467.html
Copyright © 2011-2022 走看看