C언어 - 문자열 배열과 포인터 그리고 안전한 복사
1. C 언어 문자열 C 언어에서 문자열은 Null 문자 ('\0') 로 종료 되는 문자 (char) 의 연속된 메모리 영역 으로 정의할 수 있다 . Null 문자는 '\0' 또는 0x00 으로 표현된다 . 문자열을 표현하기 위한 전용 자료형은 없으며 , 문자열 처리는 포인터와 배열을 통해 수행된다 . #include <stdio.h> #include <string.h> int main () { char str[ 16 ]; strcpy (str, "012345678901234" ); printf ( "%s,len=%zu,size=%zu\n" , str, strlen (str), sizeof (str)); return 0 ; } ※ 초기화 없이 선언된 로컬 변수 char str[32 ] 메모리 공간에는 미정의 값 (garbage value) 이 채워진다 . ※ %zu 는 sizeof() 와 strlen() 이 반환하는 size_t 타입 값을 정확하게 출력하기 위한 형식 지정자로 , 플랫폼 간 이식성을 높이기 위해 %ld 대신 사용한다 . output 012345678901234,len=15,size=16...