char *data = 0;
char data2[20] = "Hello";
strncpy(data, data2, 10);
그러나 Visual Studio에서 난 당신이 내가 볼 수 있듯이이
char *data = malloc(20);
char data2[20] = "Hello";
strncpy(data, data2, 10);
을 할 필요가 그렇지 않으면 Visual Studio에서 malloc()
을 사용해야합니다. 메모리에 대한 액세스 위반이 발생하지만, 왜 Eclipse에서 필요하지 않습니까? 대부분의 경우를 들어
제 니펫 리드 [* * 정의되지 않은 행동 (https://en.wikipedia.org/wiki/Undefined_behavior). 이야기의 끝. –
미안하지만 나는 정말로 didnt한다. 만약 내가 알기를 간절히 바란다면 ... 대답 – user3660570
@Someprogrammerdude 아래 답변에서와 같이 이것이 UB 인 이유를 설명하는 것이 더 도움이 될 것입니다. –