2015年7月14日 星期二

C move(Point*p) 改寫 move(Point&p)

 
#define _CRT_SECURE_NO_DEPRECATE
#include "string.h"
#include "stdlib.h"
#include "stdio.h"



struct Point {

 int x,y;
 
};

void move(Point &p)
{

 int tmp = p.x;
 p.x = p.y;
 p.y = tmp;
}
void _move(Point *p)
{

 int tmp = p->x;
 p->x = p->y;
 p->y = tmp;
}
void _2move(Point *p)
{

 int tmp = (*p).x;
 (*p).x = (*p).y;
 (*p).y = tmp;
}
int main()
{
 Point p,*pp;
 p.x = 1;
 p.y = 3;
 
 printf("\n====================== _move(&p); _move(Point *p) ============================");
 printf("\nx=%d y=%d", p.x, p.y);
 _move(&p);
 printf("\nx=%d y=%d", p.x, p.y);

 printf("\n====================== _2move(&p) _2move(Point *p) ===========================");

 printf("\nx=%d y=%d", p.x, p.y);
 _2move(&p);
 printf("\nx=%d y=%d", p.x, p.y);

 printf("\n====================== move(*pp); move(Point &p) =======================");
 pp = &p;
 printf("\nx=%d y=%d", p.x, p.y);
 move(*pp);
 printf("\nx=%d y=%d",p.x, p.y);
 system("pause");
 return 0;
}

沒有留言:

張貼留言