저는 C++을 처음 접했고 배열을 사용해야합니다.Visual C++ 6.0 - 배열 범위 오버플로가 발생하는 이유는 무엇입니까?
char arr[2] = "12";
을하지만 그것을 변경하는 경우 :
char arr[3] = "12";
는 잘하지만 왜 작동 문제는 내가이 줄 오류 "배열 범위 오버 플로우"를 얻을 수있다?
업데이트 :
그리고 이것은
char arr[2] = {'1','2'};
나는 그들이 메모리에 저장하는 방법 선언의 차이, 정말 혼란 스러워요 :(작동 C에서
어? 그러나 Borland C++ 4.5를 사용할 때 char arr [2] = "12"; '제대로 작동합니다. 왜 생각하니? 길이에 길이를 더하면 어레이에 어떻게 접근해야합니까? 0부터 시작해야하나요? – dpp
볼랜드의 경우 컴파일러의 버크 - 문자열은 배열이고 0에서 인덱싱됩니다 – zellio
저는 여전히 혼란 스럽습니다. 문자열은 문자 배열이 아닙니까? – dpp