2.1. 재귀함수 복습 ¶
- 스�� 대해 알아봤습니다.
- 재귀 함수를 ì�‘ìš©í•˜ë ¤ë©´ ë§Žì�€ 연습ì�´ 필요합니다.
2.1.2. 하노ì�´íƒ‘ ¶
void hanoi(int n, int a, int b, int c)
{
if(n==1){
printf("%d --> %d\n", a, c);
}else{
hanoi(n-1. a. c. b);
hanoi(1, a, b, c);
hanoi(n-1, b, a, c);
}
}
2.2. í�¬ì�¸í„°ì™€ 주소 ¶
- ë‚´ìš©ì�´ ë§Žì•„ 주ì„�ì�„ ë§Žì�´ 달지 못했습니다. ì§�ì ‘ 컴파ì�¼í•˜ê³ ì‹¤í–‰í•´ë³´ê³ , ê¶�금한 ì �ì�€ 질문하시기 ë°”ëž�니다.
2.2.1. í�¬ì�¸í„° ¶
int main()
{
short s; // ì •ìˆ˜í˜• 변수 ì„ ì–¸
short *ptr; // short형 변수ì�˜ 주소를 ì €ìž¥í• ìˆ˜ 있는 변수 ì„ ì–¸
// í�¬ì�¸í„° 변수를 ì„ ì–¸í• ë•Œì—�는 '*'를 변수 ì�´ë¦„ 앞ì—� 붙입니다.
ptr=&s; // sì�˜ 주소를 ptrì—� 대입합니다. &s 는 변수 sê°€ ì €ìž¥ë�œ 메모리 주소를 뜻합니다.
printf("%x %x", ptr, &s);
printf("%x %x", ptr, ptr+1);
*ptr=10;
printf("%d %d", s, *ptr);
// í�¬ì�¸í„° 변수 앞ì—� '*'를 ì�¨ì„œ ì €ìž¥ë�œ 주소ì—� ì ‘ê·¼í• ìˆ˜ 있습니다.
return 0;
}
2.2.2. ë°°ì—´ê³¼ 주소 ¶
int main()
{
short array[10];
short *ptr;
ptr=array;
// array=ptr � 불가능합니다.
// array는 &(array[0])와 ê°™ì�´ ì €ìž¥ 공간ì�´ 아닌 주소값입니다.
*(ptr+1)=5;
printf("%d", array[1]);
ptr[2]=6;
printf("%d", *(array+2));
// array[0] === *array === *(array+0) �� 합니다.
return 0;
}










