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()와 유사하지만 문자열 출력 시 더 유용함
    • \n이 없어도 출력한 후 자동으로 줄넘김