inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

독하게 시작하는 C 프로그래밍

realloc 질문

해결된 질문

90

hj011007

작성한 질문수 5

0

q2.png.webp

예제 파일을 보고 있던중에 들은 생각인데요, free(pszBuffer) 를 하지 않는 이유는 무엇인가요

c 컴퓨터-구조 assembly-language vc++

답변 2

1

널널한 개발자

인프런 AI 답변을 참고하시기 바랍니다. 그리고 관련 내용이 강의에 이미 들어 있으니 강의도 참고하시면 좋겠습니다. 😄

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

hj011007님께서 질문하신 free(pszBuffer)를 호출하지 않는 이유에 대한 질문은 메모리 관리 및 realloc 함수 사용에 관한 중요한 부분을 포함하고 있습니다.

realloc 함수는 동적 메모리 할당을 다룰 때 자주 사용되는 함수로, 기존에 할당된 메모리 블록의 크기를 조정하고자 할 때 활용됩니다. realloc은 기존 메모리 블록을 확장할 수 없는 경우, 새로운 메모리 블록을 할당하고, 기존 메모리의 데이터를 복사한 후, 이전 메모리 블록을 자동으로 free합니다. 따라서, realloc 결과로 반환된 포인터는 새로운 메모리의 시작 주소를 가지며, 원래의 포인터는 이미 해제된 메모리를 가리키게 됩니다.

이러한 동작으로 인해, realloc 이후에 새로운 포인터(pszNewBuffer)에 대해서만 free를 호출하면 충분하며, 기존 포인터(pszBuffer)는 별도의 해제가 필요하지 않습니다.

유사한 주제의 답변이 제공된 질문으로는 %zd 관련 질문에 대한 답변에서 마찬가지로 동적 메모리와 관련된 설명이 포함된 게시물이 있습니다. 이와 같은 질문들도 참고하시면, 동적 메모리 관리와 관련하여 보다 이해가 쉬울 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

scanf("%d\n") 의미

0

19

1

주소 연산자(&) 간접 지정자(*) 반대 개념

0

32

1

Virtual Memory, Memory, Memory mapping tables

0

50

1

샘플코드 출력 오류 발생 질문드립니다

0

62

2

값의 교환에 사용되는 변수의 위치.

0

87

2

메모리 비교에 관한 질문

0

80

2

문자열 Null

0

62

1

C, C++

0

87

2

문자열 입출력 코드 에러

0

60

2

선생님! 120화 2분 50초 질문입니다.

0

66

1

caller 가 메모리 할당 해제를 할 때의 문제점 질문

0

63

2

단축키 맞는지 여부 문의드립니다.

0

59

2

문자열을 사용하는 이중 포인터에 대하여 질문합니다

0

65

1

char 포인터 변수의 크기에 대하여 제가 이해한 것이 맞을까요

0

78

2

용어 설명 필요

0

56

2

stdin, stdout

0

70

2

필수 실습 (최댓값을 반환하는 함수)

0

92

2

아......ㅠㅠ

0

99

2

버퍼 내 엔터

0

71

1

2진수 뺄셈에서 carry-out

0

111

2

union 식별자는 실무에서 보통 어디에서 사용하나요?

0

79

2

필수실습문제 공부법 (진도 vs 복습)

0

103

2

예제파일 다운로드

0

78

2

Visial Studio Code 를 설치해서 사용해도 수업을 따라가는데 지장이 있나요?

0

118

3