C

Call by address

GOD03219 2017. 12. 29. 20:02

#include<stdio.h>
#pragma warning(disable:4996)
void input(int*p);
void output(int*p, int*b);
void main()
{
 int a;
 int b[4] = { 4,3,2,1 };


 input(&a);     // 매개변수로 주소값 넘기기 
 output(&a, &b);
 printf("a=%d\n", a);    // a = 300출력


}


void input(int * p)     // p=&a, p의 값이300이면 a의 값이 300
{
 *p = 300;
}


void output(int *p, int *b)
{
 int i;


 for (i = 0; i < 4; i++)
      printf("%d\t", *(b + i));


 printf("%d\n", *p);


}