Programming Language/C

call by reference

D4tai1 2018. 3. 28.


#include <stdio.h>

int main() {
   int x = 7;
   int y = 5;
   int k = 0;
 
   int i;

   int my[5] = { 1, 2, 3, 4, 5 };

 

   test(my);  //배열은 이름을 보내면 주소가 전달된다.

 

   for (i = 0; i < 5; i++) {
      printf("%d -> %d \n", i, my[i]);
   }

   test1(x, &y);   //주소를 보내고

   printf("%d , %d \n", x, y);
 
   return 0;
}


void test(int data[]) {
   for (int i = 0; i < 5; i++) {
      data[i] = data[i] * 2;
   }

}


void test1(int a, int *p) {

   //포인터타입으로 받는다.
   a = a + 5;
   *p = *p + 5;
   scanf("%d", p);
}

 


 

 

'Programming Language > C' 카테고리의 다른 글

공유메모리 dump  (0) 2018.05.20
scrncmp  (0) 2018.05.19
strcpy(), strcat()  (0) 2018.05.13
int main(int argc, char *argv[])  (0) 2018.05.13

댓글