and so on
포인터를 왜 쓰는가?
밀크빵
2009. 10. 5. 02:50
#include <stdio.h>
int cheoli =0; assign(); printf("함수가 호출된 후에 cheoli에 저장된 값 : %d\n", cheoli); return 0; } void assign() int cheoli = 100; } |
=>결과값 cheoli = 0
∵ assign 함수 내에서 선언된 cheoli 변수는 main함수와는 전혀 상관없는 새로운 기억공간에 할당된 변수
#include <stdio.h>
void assign(int *);
int cheoli =0; assign(&cheoli); printf("함수가 호출된 후에 cheoli에 저장된 값 : %d\n", cheoli); return 0; }
void assign(int *ip) *ip = 100; } |
=> 결과값 cheoli = 100
return을 사용하면 두개의 변수에 서로 다른 값을 저장하는 함수는 불가능.
그러나 포인터를 사용하면 두 개 이상의 변수를 직접 참조하는 함수를 만들 수 있다.