본문 바로가기

분류 전체보기136

홀짝 구별하기 예제 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include int hol(int *ptr){ int i; printf("홀수 출력 : "); for (i = 0; i 2017. 3. 19.
포인터 함수호출후 역참조 (오개념으로 Call by reference). num1->num2 , num2->num3, num3->num1 로 옮기는 방법을 함수 호출후 포인터 역참조로 구현한 코드이다. 12345678910111213141516171819202122#include Swap3(int * ptr1, int * ptr2, int * ptr3){ int num1, num2; num1 = *ptr1; num2 = *ptr2; *ptr2 = num1; num1 = *ptr3; *ptr3 = num2; *ptr1 = num1;} int main(){ int num1, num2, num3; scanf_s("%d %d %d", &num1, &num2, &num3); Swap3(&num1, &num2, &num3); printf("%d %d %d", num1, num2, num.. 2017. 3. 12.
Call-by-value , Call-by-reference 그리고 오개념 123456789101112131415161718192021222324#include SquareByValue(int num) //call-by-value이다.{ num *= num; return num;}SquareByReference(int * ptr) //cal-by-reference{ int num = *ptr; *ptr = num*num;} int main(void){ int num, num1, num2; scanf("%d", &num); num1 = SquareByValue(num); printf("\ncall-by-value로 계산된 값은 %d입니다.\n", num1); SquareByReference(&num); printf("\ncall-by-reference로 계산된 값은 %d입니다.\.. 2017. 3. 12.
배열과 함수, 인자 배열은 함수의 인자로 전달되어 사용될수없다. 따라서 배열이 아닌, 포인터를 통해 함수의 인자를 전달해주어야한다. ;포인터는 주소값을 전달해주는 기능을 하기에 가능함을 알고있다. main함수에서의 arr이란 배열을 function이란 함수로 옮긴다면 arr배열 자체를 function(arr);로 하는것이 불가능하기에,포인터로 배열을 지정해 인자를 전달한다. 여기서 중요한것은, 전달받은 함수의 인자에 ex) function(int * man) , 즉 *을 붙여 포인터로서의 지정주소에서 내가 원하는 값을 불러낼수있게 해야한다. 아래는 예제이다.12345678910111213141516171819#include void how(int * man, int rule){ for (int i = 0; i main함수에.. 2017. 3. 9.
반응형