2014/09/06 3

Step10. Call by Value, Call by Reference

- Call by Value(값에 의한 호출) 메인에서 함수 호출할 때 변수의 주소 보내는 것이 아니라 변수의 값만 보내주기 때문에 메인에 있는 변수에 영향을 미치지 않는 형태. void plus(int a, int b){a++;printf("%d\n",a+b);}void main(){int a=10,b=20;plus(a,b); //31 출력printf("%d %d\n",a,b);//10 20 출력} - Call by Reference(참조에 의한 호출) 메인에서 함수 호출 할때 변수의 값을 보내는 것이 아니라 메인에 있는 변수의 주소를 보내 주기 때문에 함수에서는 매개변수를 포인터 형태로 받는 함수 형태. void plus(int *a, int *b){(*a)++;printf("%d\n",*a+*b);..

Step8. 포인터

자기 자신은 값을 가질수는 없지만, 다른 변수나 메모리에 있는 값을 가리키는 변수포인터는 자기 자신이 값이 없기 때문에 다른 변수의 주소나 메모리 주소값을 가지고 있다.포인터는 메모리 주소를 가지고 있기 때문에 타입에 상관 없이 4Byte가 할당이 된다.포인터 연산시 주의해야할 사항으로 포인터 증감 연산시 +1이 포인터가 가리키는 변수 타입 크기 만큼 증가 되가 된다. 포인터 선언법-> 변수타입 *변수명; ex1>int k=10;int *ptr; ptr = &k;//*ptr++;// 연산자 우선 순위에 의해 ptr에 저장된 주소값이 증가(*ptr)++;// 11, 포인터가 가리키고 있는 값 증가ex2>int k[5] = {1,2,3,4,5};int *ptr ;//ptr = &k[0];ptr = k;int..