首页 > 其他 > 详细

C 函数与指针(function & pointer)

时间:2019-12-19 23:51:57      阅读:118      评论:0      收藏:0      [点我收藏+]

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函数中:\n");
    printf("x的值为%d,地址为%p\n", x, &x);
    printf("y的值为%d,地址为%p\n", y, &y);

    int tmp = x;
    x = y;
    y = tmp;
}

int swap(int *x, int *y)
{
    /*
     * 在这个函数中,参数是两个指针,这两个指针存储的main函数中x和y的地址
     * 因此,可以通过这两个指针,对main函数中的x和y进行调换
     * */
    printf("在swap函数中:\n");
    printf("指针x指向的地址为%p,值为%d,指针本身的地址为%p\n", x, *x, &x);
    printf("指针y指向的地址为%p,值为%d,指针本身的地址为%p\n", y, *y, &y);

    int tmp = *x;
    *x = *y;
    *y = tmp;
}

int main(void)
{
    int x = 3, y = 5;

    printf("在main函数中:\n");
    printf("x的值为%d,地址为%p\n", x, &x);
    printf("y的值为%d,地址为%p\n", y, &y);

    noswap(x, y);
    printf("经过noswap函数,x=%d,y=%d\n", x, y);

    swap(&x, &y);
    printf("经过swap函数,x=%d,y=%d\n", x, y);

    return 0;
}

C 函数与指针(function & pointer)

原文:https://www.cnblogs.com/noonjuan/p/12070467.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!