/* 点の情報を返却するプログラム */
#include <stdio.h>
#include <string.h>

typedef struct {   /* 点の情報 */
	int x;           /* x座標 */
	int y;           /* y座標 */
	char color[10];  /* 色    */
} Point;

Point get_point1(void);
void get_point2(Point *p);

int main(void)
{
	Point p1, p2;

	p1 = get_point1();
	get_point2(&p2);

	printf("座標 = (%d,%d)  色 = %s\n",	p1.x, p1.y, p1.color);
	printf("座標 = (%d,%d)  色 = %s\n",	p2.x, p2.y, p2.color);

	return 0;
}

/*** 点の情報を返却する ***/
/* （仮引数）なし　（返却値）点の構造体 */
Point get_point1(void)
{
	Point p;
	p.x = 100;
	p.y = 200;
	strcpy(p.color, "red");

	return p;
}

/*** 点の情報を返却する ***/
/* （仮引数）p：点の構造体へのポインタ　（返却値）なし */
void get_point2(Point *p)
{
	p->x = 200;
	p->y = 250;
	strcpy(p->color, "blue");
}
