SW/C

8-2 문자 저장하기

seungH 2025. 3. 30. 21:17

문자는 char형 배열에 저장한다.

저장할 문자열의 길이보다 최소 하나 이상 크게 배열을 선언해야한다!!!!

ex)apple → 요소갯수 6개로 해야함.(널문자 저장해야돼서)

#include <stdio.h>

int main(){
    char str[80] = "applejam";
    /*
    | 'a' | 'p' | 'p' | 'l' | 'e' | 'j' | 'a' | 'm' | '\\0' | '\\0' | '\\0' | ... (총 80바이트) |
		자동으로 널값이 저장된다. 남는 배열요소 값도 모두 널값으로 자동채워짐!
    */

    printf("최초 문자열 : %s\\n",str);
    printf("문자열 입력 : ");
    scanf("%s",str);
    //여기서 입력 후 엔터를 치면 자동으로 널문자를 뒤에 추가해준다. 만약 scanf가 아닌 직접 배열의 요소를 채운다면 직접 널값을 넣어주자!
    printf("입력 후 문자열 : %s\\n",str);

    return 0;
}

그런데 scanf는 white space를 스페이스, 엔터 둘다 인식하게 된다.

이때 띄어쓰기도 입력하고 싶으면 scanf로는 할 수가 없고 다른 함수를 사용해야함.

gets(), puts()이다.

위 두개는 빈칸을 포함하여 한 줄 전체를 문자열로 입력한다.→화이트 문자가 엔터만 해당되는듯

'SW > C' 카테고리의 다른 글

11-2 버퍼를 사용하는 입력함수  (0) 2025.03.30
10-1 배열과 포인터  (0) 2025.03.30
9-2 포인터 완전정복  (0) 2025.03.30
9-1 포인터  (0) 2025.03.30
8-1 배열  (0) 2025.03.30