realloc합수 c언어 개념질문

realloc합수 c언어 개념질문

작성일 2024.05.23댓글 1건
    게시물 수정 , 삭제는 로그인 필요

녹색 필기대로 이해하면 되는게 맞나요?



profile_image 익명 작성일 -

realloc의 동작은 상황에따라 다릅니다.

그림의 코드는 문제가 있습니다. 잘못된 코드죠.

일단 현재 위치에서

크기 확장이 가능하면 그대로 확장합니다.

이 경우는 p2와 p1이 같습니다.

free를 둘 다 하게 되면 중복 해제로 런타임 에러..

현 위치에서 확장 불가시(뒤에 딴 놈이 있을 때)

새로운 공간을 확보하고 기존 데이터를 복사한 후

기존 공간을 해제합니다. 이때는 p1과 p2가 다릅니다.

p1은 해제된 공간이니 free를 하면 런타임 에러..

그런데 새 공간을 확보하지 못했다면

p2는 NULL이 되고 기존 공간은 그대로입니다.

이 상황에서 p2를 free하면 런타임 에러입니다.

이 경우에는 p1을 해제해야 합니다.

p2 = realloc(p1, 16);

if (p2 == NULL) p2 = p1;

할당 실패에대한 예외 처리가 필요합니다.

지금은 할당하는 크기가 작아 할당 실패는 없겠지만

처음 배울 때 잘못 배우면 바로 잡기가 힘들 수 있죠.

realloc합수 c언어 개념질문

... realloc의 동작은 상황에따라 다릅니다. 그림의 코드는 문제가 있습니다. 잘못된... 작아 할당 실패는 없겠지만 처음 배울 때 잘못 배우면 바로 잡기가 힘들 있죠.

C언어 개념 질문

... 배우실 있는 부분이예요 코딩같은 경우는 연령대가 매우다양하기도 한데요... C언어가 취업에 유리하긴 하겠지만 질문자님처럼 코딩 언어에 대해서 처음 접해보시는...

c언어 realloc 질문 드립니다!

책을 읽다가 이해가 가지 않는 부분이 있어 질문 드립니다. 이미 사용하던 저장... 바뀔 있으므로 항상 realloc 함수가 반환하는 주소를 다시 포인터에 저장해...

c언어 개념 질문이요 1번과 3번의

c언어 개념 질문이요 1번과 3번의 답과 그 이유도 알려주세요 내공 드려요 1번의 답은... ❸ 예약어(keyword)는 식별자로 쓸 없다. 특수문자로는 유일하게 밑줄(_)문자가...

기초적 c언어 개념질문

기초적인 c언어 질문드릴게요.. 1. 메모리위치값저장... 데이터가 저장되는 개념을 잘모르는것같아요 ㅜㅜ... 다뤄질 있습니다. 그래서 8bit 자료형을 char...

C언어 개념 질문ㅠㅠ

C언어 개념 질문ㅠㅠ 형식지정자 형식제어문자 변환명세 제어문자 특수문자 이 5개... 얻으실 없으며, 경고장을 발송할 것입니다. 따라서, 반드시 댓글로 등록하시기...

할당파트 realloc 함수 질문입니다.

c언어 동적메모리 파트를 공부하고 있는 학생입니다.... 5개라서 realloc 함수를 주석처리 해서 실행하면 5개... 램이 넉넉해서 다음과 같이 이상없이 사용할 있습니다만...

c언어 realloc 질문 드립니다.

... return 0; } Realloc이 메모리 주소를 바꾸는 것을 확인할 있습니다. Buffer: 0000023094036070 buffer resized: 12000000 Buffer: 0000023094036070 buffer...

c언어 개념 질문입니다..

... 제가 개념이 없어서 그런지 c의 몇가지 용어라거나... 할당화 초기화에 대한 질문입니다.. 제가 보고있는... 어느성운 언어인지 모르겠구요... 이해 할 ...