본문 바로가기
2학년 2학기/c언어

10-1장 문자열과 NULL 문자

by kkkkk1023 2024. 11. 4.

1. 문자열 표현 방법

#include<stdio.h>

int main(){
    char str[6] = "Hello";
    //동일한 기능 - char str[6] = {'H', 'e', 'l', 'l', 'o'};
}

 

 

 

각 배열은 문자가 각각 입력되지만 아스키 코드로도 확인할 수 있다.

#include<stdio.h>

int main(){
    char str[6] = "Hello";
   	
    printf("%c", str[0]); // 'H'
    printf("%d", str[0]); // 72
}

 


 

2. NULL 문자

: 문자열이 끝나기 전에 반드시 NULL 문자(\0)라는 특수한 값으로 끝나야한다.

 

문자열의 크기가 5개라도 NULL문자를 생각해서 크기를 6개로 설정해야한다.

 

 

char str[6] = "Hello";

 

 

❓ 왜 NULL문자가 필요할까?

컴퓨터에게 문장의 끝을 알려주기 위해서 필요하다. 컴퓨터는 NULL문자를 제외한 다른 문자들은 문장의 끝이라고 판단하지 않기 때문이다.

 


 

3. 문자열 배열의 초기화

#include<stdio.h>

int main(){

    char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

    char str[6] = "Hello";
    
    char str[] = "Hello";
    
}

 


 

4. 중간점검

 

1. C에서 문자열은 어떻게 정의되는가?

char 변수명[] = 초가화;

 

 

2. 문자열에서 NULL 문자의 역할은 무엇인가?

문장의 끝을 알리기 위해서

 

 

3. NULL 문자의 아스키 코드 값은 얼마인가?

0

 

 

4. NULL 문자로 끝나지 않는 문자열을 출력하면 어떻게 될까?

쓰레기 값이 출력된다. 

 

 

5. b, 'b', "b"의 차이점은?

변수, 문자, 문자열의 차이이다. 

 

 

6. 변경 가능한 문자열은 어디에 저장되는가?

문자 배열에 저장된다.

 

7. 문자열의 크기보다 문자 배열의 크기를 하나 더 크게하는 이유는 무엇인가?

NULL문자가 있어야하기 때문이다.