C语言指针

// 指针.cpp : 定义控制台应用程序的入口点。
//

#include "stdio.h"

void change(int **p1,int **p2)
{    
    int *tem;
    tem=*p1;
    *p1=*p2;
    *p2=tem;
}

void changeNormal(int *p1,int *p2)
{
    int temp=*p1;
    *p1=*p2;
    *p2=temp;
}

void changeErr(int *p1,int *p2)
{
    int *temp;
    temp=p1;
    p1=p2;
    p2=temp;
    printf("在函数里面:a=%d,b=%d\n",*p1,*p2);
}


void main()
{
    int a=9,b=100;
    int *p1,*p2;
    p1=&a;
    p2=&b;
    int **mp1,**mp2;
    mp1=&p1;
    mp2=&p2;
    printf("a和b的地址:a=%d,b=%d\n",&a,&b);

    printf("起始地址:p1=%d,p2=%d\n",p1,p2);

    change(mp1,mp2);
    
    printf("结束地址:p1=%d,p2=%d\n",p1,p2);

    printf("a和b的地址:a=%d,b=%d\n",&a,&b);
    //changeNormal(&a,&b);
    //changeErr(&a,&b);
    printf("----------------------------------------------------------------------------------------\n");
    printf("在函数外面:*p1=%d,*p2=%d\n",*p1,*p2);
    printf("在函数外面:a=%d,b=%d\n",a,b);
}
posted @ 2010-08-11 10:30  再快一点  阅读(177)  评论(0编辑  收藏  举报