본문 바로가기

C언어/C언어 문법

[C언어] 문자열 배열

728x90
반응형

문자열 배열

 

문자열도 배열에 저장하는 것이 가능하다.

 

변수 형태의 문자열은 다차원 배열을 사용하면 되고 상수 형태의 문자열은 포인터 배열을 사용하면 된다.

 

 

 

#include <stdio.h>

int main()
{
    char name1[3][20] = {"ENCHUPIN1", "Enchupin1", "enchupin1"};
    char *name2[3] = {"ENCHUPIN3", "Enchupin3", "enchupin3"};
    printf("%s %s %s\n", name1[0], name1[1], name1[2]);
    printf("%s %s %s\n", name2[0], name2[1], name2[2]);
    return 0;
}
 

 

위 코드를 실행시켜 보면 각각 3개의 문자열이 정상적으로 출력되는 것을 확인할 수 있다.

 

 

 

 

 

 

 

 

변수 형태의 문자열을 배열로 선언할 때에 주의할 점이 있는데

이 때는 크기를 미리 지정하지 않는 것이 불가능하다는 점이다.

 

#include <stdio.h>

int main()
{
	char name1[3][] = {"ENCHUPIN1", "ENCHUPIN2", "ENCHUPIN3"};
    printf("%s %s %s\n", name1[0], name1[1], name1[2]);
    return 0;
}
 
 

위 코드를 실행시켜보면 정상적으로 작동하지 않는 것을 확인할 수 있다.

728x90
반응형