function arguments by reference

main
Peace 2 months ago
parent d6b2615c7e
commit 2e9eb14783
  1. 36
      practice/lc_functionArgsByReference.c

@ -5,11 +5,47 @@ void addone(int n)
n++;
}
void addoneByRef(int* n)
{
(*n)++;
}
typedef struct
{
int x;
int y;
} Point;
void move1(Point* p)
{
(*p).x++;
(*p).y++;
}
// 약어
void move2(Point* p)
{
p->x++;
p->y++;
}
int main()
{
int n = 0;
printf("Step0: %d\n", n);
addone(n);
printf("Step2: %d\n", n);
addoneByRef(&n);
printf("Step2: %d\n", n);
printf("\n");
Point pt = { 1, 1 };
printf("Step0 pt.x: %d, pt.y: %d\n", pt.x, pt.y);
move1(&pt);
printf("Step1 pt.x: %d, pt.y: %d\n", pt.x, pt.y);
move2(&pt);
printf("Step2 pt.x: %d, pt.y: %d\n", pt.x, pt.y);
return 0;
}
Loading…
Cancel
Save