컴파일러 경고(수준 4) C4295
'array': 배열이 너무 작아서 종료 null 문자를 포함할 수 없습니다.
배열이 초기화되었지만 배열의 마지막 문자는 null이 아닙니다. 배열에 문자열로 액세스하면 예기치 않은 결과가 발생할 수 있습니다.
예시
다음 샘플에서는 C4295를 생성합니다. 이 문제를 해결하려면 배열 크기를 더 크게 선언하거나, 이니셜라이저 문자열에서 종료 null을 보유하거나, 배열 이니셜라이저 목록을 사용하여 null로 끝나는 문자열이 아닌 배열 char
임을 명확히 할 수 있습니다.
// C4295.c
// compile with: /W4
int main() {
char a[3] = "abc"; // C4295
char b[3] = {'d', 'e', 'f'}; // No warning
a[0] = b[2];
}