순천향대학교 정보보호연구회 2009. 5. 14 김 홍 기 kastropolos@sch.ac.kr 포인터와 문자열 순천향대학교 정보보호연구회 2009. 5. 14 김 홍 기 kastropolos@sch.ac.kr
목 차 포인터(Pointer) 1 포인터 예제 2 문자와 문자열 3 문자열 예제 4 프로그래밍 세미나
1. 포인터 포인터 특정 값을 가지고 있는 변수의 주소 간접적으로 값을 참조 int *countPtr, count; double *xPtr, *yPtr; count countPtr count 7 7 직접 참조 간접 참조 프로그래밍 세미나
1. 포인터 (계속) 주소 연산자 (&) 피 연산자의 주소를 반환하는 단항 연산자 int y = 5; int *yPtr; yPtr = &y; yPtr y yPtr y 5 5 500000 600000 600000 프로그래밍 세미나
2. 포인터 예제 &와 * 연산자 사용 프로그래밍 세미나
2. 포인터 예제 (계속) 값에 의해 전달 프로그래밍 세미나
2. 포인터 예제 (계속) 값에 의한 전달 (계속) 5 125 null null 5 5 null cubeByValue가 main으로 돌아간 후 number에 값을 대입하기 전 cubeByValue가 매개변수인 n을 세제곱한 후 main으로 되돌아가기 전 cubeByValue가 호출된 후 main이 cubeByValue를 호출하기 전 main이 number에 대입을 완료한 후 125 125 125 5 125 null null 5 5 null n number 프로그래밍 세미나
2. 포인터 예제 (계속) 참조에 의한 전달 프로그래밍 세미나
2. 포인터 예제 (계속) 참조에 의한 전달 (계속) 125 5 null *nPtr이 세제곱되고 난 후, 프로그램 제어가 main으로 돌아가기 전 cubeByReference가 호출이 된 후, *nPtr이 세제곱되기 전 main이 cubeByReference를 호출하기 전 125 125 5 null nPtr number 호출이 이 포인터를 설정한다 피호출 함수가 호출자의 변수를 수정한다 프로그래밍 세미나
2. 포인터 예제 (계속) 소문자를 대문자로 변환 프로그래밍 세미나
2. 포인터 예제 (계속) 문자열을 한 번에 한 문자씩 출력 프로그래밍 세미나
2. 포인터 예제 (계속) 참조에 의한 전달을 사용한 버블 정렬 프로그래밍 세미나
2. 포인터 예제 (계속) 포인터와 배열의 관계 프로그래밍 세미나
2. 포인터 예제 (계속) 문자열 복사 프로그래밍 세미나
const char *suit[4] = {“Hearts”, “Diamonds”, “Clubs”, “Spades”}; 2. 포인터 예제 (계속) 포인터 배열 const char *suit[4] = {“Hearts”, “Diamonds”, “Clubs”, “Spades”}; ‘H’ ‘e’ ‘a’ ‘r’ ‘t’ ‘s’ ‘\0’ suit[0] ‘D’ ‘i’ ‘a’ ‘m’ ‘o’ ‘n’ ‘d’ ‘s’ ‘\0’ suit[1] ‘C’ ‘l’ ‘u’ ‘b’ ‘s’ ‘\0’ suit[2] ‘S’ ‘p’ ‘a’ ‘d’ ‘e’ ‘s’ ‘\0’ suit[3] 프로그래밍 세미나
2. 포인터 예제 (계속) 카드 섞기와 나누어 주기 프로그래밍 세미나
2. 포인터 예제 (계속) 카드 섞기와 나누어 주기 (계속) 프로그래밍 세미나
3. 문자열 문자상수(character constant) 문자열 문자 집합에서 해당하는 문자의 정수 값 ex) ‘z’ 일련의 문자들로 구성된 단일 단위 ex) “John Q.Doe” 프로그래밍 세미나
4. 문자열 예제 strcpy과 strncpy 사용 프로그래밍 세미나
4. 문자열 예제 (계속) strcat과 strncat 이용 프로그래밍 세미나
4. 문자열 예제 (계속) strcmp와 strncmp 연결 프로그래밍 세미나
4. 문자열 예제 (계속) strtok 사용 프로그래밍 세미나