포인터를 사용하는 이유에는 2가지가 있다. 첫째. Call by Address C언어는 Call by Value 만을 지원한다. 이때문에 함수에서 여러개의 값을 조작하여 리턴받기 위해서는 주소를 파마미터로 넘겨 여러개의 값을 조작할 수 있다. ex ) swap() ///////////////////////////////////////////// #include void swap(int* pa , int* pb) { int temp = *pa; *pa = *pb; *pb = temp; } void main() { int a=10 , b=20; printf("a=%d , b=%d\n",a,b); swap(&a , &b); printf("a=%d , b=%d\n",a,b); } /////////////////..