올바른 바이트 수를 할당하지 않고 malloc이 작동하는 이유는 무엇입니까?

Ludvig여

나는 어디에서도 답을 찾을 수없는 것 같은 간단한 질문이 있습니다.

"he", "hellos"가 들어갈 수 없어야하는 두 문자에 충분한 메모리를 할당했을 때이 코드가 컴파일되고 작동하는 이유는 무엇입니까?

올바른 길이 인 6을 출력합니다.

무료는 오류가 없습니다.

char* testF() {
    char *arr = (char*)malloc(2*sizeof(char));
    strcpy(arr, "hellos");
    return arr;
}

int main() {
    char *arr = testF();
    printf("%c%c%c%c%c%c\n", arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]);
    printf("Length = %d", strlen(arr));
    free(arr);

    return 0;
}
이스라엘 운터 만

이것은 malloc에 ​​의해 할당 된 영역 뒤에 사용 가능한 메모리가있는 경우 발생할 수 있습니다.

그러나 물론 당신은 그것을 믿어야합니다. 할당 한 것만 신뢰하십시오.

실제로 이것은 불충분 한 메모리를 mallocing하거나 할당 해제 된 메모리를 사용하는 것과 같은 일부 나쁜 코드가 작동 할 수 있기 때문에 불쾌한 버그의 소스입니다. 그리고 어느 날 메모리 체계에 영향을 미치는 작은 변경을하거나 컴파일러 버전을 업데이트하면 문제가 발생하기 시작합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다음 변수 할당이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

getservbyname이 올바른 포트 번호를 반환하지 않는 이유는 무엇입니까?

분류에서Dev

React 부트 스트랩에서 올바른 카드를 사용하지 않는 이유는 무엇입니까?

분류에서Dev

Pandas : 올바른 열 수를 선택한 후에도 내적이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 자바 스크립트 함수 호출이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

IF / THEN이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

PHP가 올바른 배열 수를 표시하지 않는 이유는 무엇입니까?

분류에서Dev

고정 바닥 글이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

web3 utils BN이 수학에서 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

왜 바이트에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

xxd 명령이 역방향으로 작동 할 때 바이트 그룹화를 고려하지 않는 이유는 무엇입니까?

분류에서Dev

이 자바 스크립트 함수 생성기가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

자바 스크립트 함수 join ()이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

PEGjs가 / 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

count (*)가 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

ScreenManager를 사용하는 올바른 .kv 코드를 외부 .kv 파일에 넣을 때 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 숭고한 텍스트 키 바인딩이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 Firebase Function Promise가 올바른 오류를 반환하지 않는 이유는 무엇입니까?

분류에서Dev

이 코드가 올바른 결과를 반환하지 않는 이유는 무엇입니까?

분류에서Dev

내 indexOf 값이 올바른 결과를 반환하지 않는 이유는 무엇입니까?

분류에서Dev

이 코드가 올바른 해시를 생성하지 않는 이유는 무엇입니까?

분류에서Dev

내 기능이 올바른 경로를 참조하지 않는 이유는 무엇입니까?

분류에서Dev

OpenMP atomic and critical이 올바른 결과를 제공하지 않는 이유는 무엇입니까?

분류에서Dev

플롯이 x 축에 올바른 범위를 표시하지 않는 이유는 무엇입니까?

분류에서Dev

내 코드가 올바른 최소 차이를 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

int *에 int를 할당하는 것처럼 보이지만이 할당이 올바른 이유는 무엇입니까?

분류에서Dev

왜이 파이프 중 하나는`this`를 올바르게 참조하고 다른 하나는 그렇지 않은 이유는 무엇입니까?

분류에서Dev

올바른 위치에 올바른 문자열을 추가하지 않는 이유는 무엇입니까?

분류에서Dev

malloc이 메모리를 전혀 할당하지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    다음 변수 할당이 올바르게 작동하지 않는 이유는 무엇입니까?

  2. 2

    getservbyname이 올바른 포트 번호를 반환하지 않는 이유는 무엇입니까?

  3. 3

    React 부트 스트랩에서 올바른 카드를 사용하지 않는 이유는 무엇입니까?

  4. 4

    Pandas : 올바른 열 수를 선택한 후에도 내적이 작동하지 않는 이유는 무엇입니까?

  5. 5

    이 자바 스크립트 함수 호출이 작동하지 않는 이유는 무엇입니까?

  6. 6

    IF / THEN이 올바르게 작동하지 않는 이유는 무엇입니까?

  7. 7

    PHP가 올바른 배열 수를 표시하지 않는 이유는 무엇입니까?

  8. 8

    고정 바닥 글이 작동하지 않는 이유는 무엇입니까?

  9. 9

    web3 utils BN이 수학에서 올바르게 작동하지 않는 이유는 무엇입니까?

  10. 10

    왜 바이트에서 작동하지 않는 이유는 무엇입니까?

  11. 11

    xxd 명령이 역방향으로 작동 할 때 바이트 그룹화를 고려하지 않는 이유는 무엇입니까?

  12. 12

    이 자바 스크립트 함수 생성기가 작동하지 않는 이유는 무엇입니까?

  13. 13

    자바 스크립트 함수 join ()이 작동하지 않는 이유는 무엇입니까?

  14. 14

    PEGjs가 / 올바르게 작동하지 않는 이유는 무엇입니까?

  15. 15

    count (*)가 올바르게 작동하지 않는 이유는 무엇입니까?

  16. 16

    ScreenManager를 사용하는 올바른 .kv 코드를 외부 .kv 파일에 넣을 때 작동하지 않는 이유는 무엇입니까?

  17. 17

    이 숭고한 텍스트 키 바인딩이 작동하지 않는 이유는 무엇입니까?

  18. 18

    이 Firebase Function Promise가 올바른 오류를 반환하지 않는 이유는 무엇입니까?

  19. 19

    이 코드가 올바른 결과를 반환하지 않는 이유는 무엇입니까?

  20. 20

    내 indexOf 값이 올바른 결과를 반환하지 않는 이유는 무엇입니까?

  21. 21

    이 코드가 올바른 해시를 생성하지 않는 이유는 무엇입니까?

  22. 22

    내 기능이 올바른 경로를 참조하지 않는 이유는 무엇입니까?

  23. 23

    OpenMP atomic and critical이 올바른 결과를 제공하지 않는 이유는 무엇입니까?

  24. 24

    플롯이 x 축에 올바른 범위를 표시하지 않는 이유는 무엇입니까?

  25. 25

    내 코드가 올바른 최소 차이를 인쇄하지 않는 이유는 무엇입니까?

  26. 26

    int *에 int를 할당하는 것처럼 보이지만이 할당이 올바른 이유는 무엇입니까?

  27. 27

    왜이 파이프 중 하나는`this`를 올바르게 참조하고 다른 하나는 그렇지 않은 이유는 무엇입니까?

  28. 28

    올바른 위치에 올바른 문자열을 추가하지 않는 이유는 무엇입니까?

  29. 29

    malloc이 메모리를 전혀 할당하지 않는 이유는 무엇입니까?

뜨겁다태그

보관