C 프로그래밍 - 9주차 : 배열 2
배열과 문자열
정수형 배열과 문자형 배열의 차이
- 정수형은 각각 4바이트, 문자형은 각각 1바이트
// 생김새 차이
int a[4] = {1, 2, 3, 4};
char s[4] = {'a', 'b', 'c', 'd'};
// 또는
char s[4] = "abcd";
문자 출력과 문자열 출력의 차이
char s[4] = "abcd";
printf("%c", s[0]) // 출력 : a
printf("%s", s) // 출력 : abcd
문자열 함수
- string.h 헤더 파일에 있음
- strlen() : 널 문자(\0)를 제외하고 문자열의 길이를 알려줌
- strcpy(문자열 A, 문자열 B) : 문자열 A에 문자열 B를 복사
- strcat(문자열 A, 문자열 B) : 문자열 A 뒤에 문자열 B를 이어 문자열 A에 넣음
- 이때, 문자열 A의 길이는 문자열 A 길이 + 문자열 B 길이 + 1 이상이어야 함 (널 문자 때문에)
- 그리고, A는 무조건 문자열이어야 함. B는 배열이거나 상수여도 괜찮음
- strcmp(문자열 A, 문자열 B) : A - B의 결과를 돌려줌. 0이면 A == B라는 뜻
- gets(문자열) : scanf()와 유사하지만 문자열 입력 시 더 유용함
- 최대 입력 가능한 길이는 문자열의 크기 - 1까지 가능
- Enter 입력할 때까지 받음
- puts(문자열) : printf()와 유사하지만 문자열 출력 시 더 유용함