码迷,mamicode.com
首页 > 其他好文 > 详细

关于指针和数值交换

时间:2016-04-30 11:17:33      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

前天学习了关于内存的原理,理解了一下堆栈。今天学习指针,思路比刚开始学的时候更加清晰了一些。

首先在函数参数传递过程中,如果是基本变量,如int型,传递的参数是参数的拷贝

void change(int x,int y){
    int temp;
    temp = x;
    x = y;
    y = temp;
}

这个函数实际上对主函数里的参数没有做任何的修改

为什么呢?下面用一张图解释一下

技术分享

这个图真是有够大的

 

#include<stdio.h>

void change(int *x,int *y){
    int temp;
    temp = *x;
    *x = *y;
    *y = temp;
}

void main(){
    int x,y;
    x=5;
    y=6;
    //int *p1;
//    int *p2;
//    p1 = &x;
//    p2 = &y;
    change(&x,&y);
    printf("%d %d",x,y);
}

 

学习了微机,认识了一下内存,数据结构,以前模糊的概念都清晰了起来。

虽然是很基本的内容。

关于指针和数值交换

标签:

原文地址:http://www.cnblogs.com/forri/p/5448316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!