/* Strukture se u funkcije prenose po vrednosti. 
   Moguce je koristiti pokazivace na strukture */

#include <stdio.h>

typedef struct point
{
	int x, y;
} POINT;

/* Zbog prenosa po vrednosti tacka ne moze biti ucitana */
void get_point_wrong(POINT p)
{
	printf("x = ");
	scanf("%d", &p.x);
	printf("y = ");
	scanf("%d", &p.y);
}

/* Koriscenjem prenosa preko pokazivaca, uspevamo */
void get_point(POINT* p)
{
	/* p->x je skraceni zapis za (*p).x */

	printf("x = ");
	scanf("%d", &p->x);
	printf("y = ");
	scanf("%d", &p->y);
}


main()
{
	POINT a = {0, 0};

	printf("get_point_wrong\n");
	get_point_wrong(a);
	printf("a: x = %d, y = %d\n", a.x, a.y);

	printf("get_point\n");
	get_point(&a);
	printf("a: x = %d, y = %d\n", a.x, a.y);

}