Page 308 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 308
이때 주의할 점은 앞에서 초기화할 때 사용한 코드는 초기화에서만 사용해야 한다는 것입니
다. 즉, 다음과 같은 코드는 실행되지 않습니다.
char st[10];
st = { 'A', 'B', 'C', 'D', '\0'}; /* 오류 */
st = "ABCD"; /* 오류 */
앞의 예에서 볼 수 있듯이 초기화와 대입은 다릅니다.
요소의 개수를 생략하고 문자열을 선언하면 초기화할 때 입력한 문자열의 요소 개수가 배열
의 요소 개수가 됩니다. 예를 들어 배열 st의 요소 개수는 5개입니다.
char st[] = "ABCD"; /* 배열 st의 요소 개수는 5개입니다. */
보충수업 8-2 printf 함수 사용해 문자열 출력하기
문자열을 나타내는 형식 문자열(%s)의 ‘s’는 string에서 따왔습니다. 아래처럼 scanf 함수를 사용하여
읽어 들일 때도 형식 문자열(%s)을 사용합니다.
char st[128];
scanf("%s", st); /* st는 첫 번째 문자에 대한 포인터이므로 & 연산자가 필요하지 않습니다. */
포인터와 문자열
많은 C 언어 프로그램에서는 배열이 아니라 포인터로 문자열을 나타냅니다. 실습 8-4를 보
면서 살펴보겠습니다.
308 C 알고리즘