2014년 1월 19일 일요일

데이터 구조 - 소팅[Sorting Program]프로그램에 관해서

데이터 구조 - 소팅[Sorting Program]프로그램에 관해서
 데이터 구조 - 소팅[Sorting.hwp

해당 자료는 해피레포트에서 유료결제 후 열람이 가능합니다.
분량 : 9 페이지 /hwp 파일
설명 : ▶ 파일을 읽어들이는 것과 관련되는 함수들
1) char *trim(char *s)
: 공백을 제거하는 메인 함수이며, right_trim(), left_trim(), center_trim()함수를 차례로 실행시키며, 공백이 제거된 문자열을 리턴 한다.
2) void right_trim(char *s)
: 오른쪽 공백을 제거하는 함수이다.
- i의 초기값을 strlen(s)-1로 해준 이유 : 배열은 0부터 시작하므로 실제 문자열의 끝은 s[strlen(s)-1] 부터이기 때문이다.
- 문자열의 마지막에서부터 시작해서 공백이나 라인개행문자가 나올때까지 그 부분을 널문자(0x00)으로 바꿔줘서 공백과 라인개행문자를 없애준다.
3) char *left_trim(char *s)
: 왼쪽 공백을 제거하는 함수이다.

- i값을 0으로 초기화하여 문자열의 초기에서부터 공백이 나올때까지 i값을 누적시켜준다.
- return 값이 s+i인 이유 : 앞의 공백을 제거 하기 위해 문자열 포인터를 빈 공백의 숫자만큼 뒤로 이동시켜주는 것이다.
초기 문자열 s

for문 실행 후 i값은 3이 된다.(s[3]부터 공백 문자가 아니기 때문에..);
s+i 란 수식은 s[0]의 주소에 i만큼 뒤로 이동한다는 것이다.
즉, s[0]+3이 되기에 s[3]을 가리키게 된다.
만약 buf=left_trim(s); 가 실행 됐다면..
출처 : 해피레포트 자료실

댓글 없음:

댓글 쓰기