More actions
imported>joojis No edit summary |
imported>joojis No edit summary |
||
| Line 30: | Line 30: | ||
== 포인터와 주소 == | == 포인터와 주소 == | ||
=== 포인터 === | === 포인터 === | ||
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; | |||
} | |||
Revision as of 15:29, 14 May 2012
출석 및 진행
- 권우성
- 채유빈
- 약 1시간 30분 진행
수업 내용
재귀함수 복습
- 스택에 대해 알아봤습니다.
- 재귀 함수를 응용하려면 많은 연습이 필요합니다.
팩토리얼
int fact(int n)
{
if(n<=1){
return 1;
}else{
return n*fact(n-1);
}
}
하노이탑
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);
}
}
포인터와 주소
포인터
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;
}