realloc합수 c언어 개념질문
-
게시물 수정 , 삭제는 로그인 필요
녹색 필기대로 이해하면 되는게 맞나요?
![](https://img-api.cboard.net/img_n.php?image_url=https://kin-phinf.pstatic.net/20240523_205/1716450653128YQ6mw_JPEG/IMG_2018.jpeg)
realloc합수 c언어 개념질문
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언어 개념 질문이요 1번과 3번의 답과 그 이유도 알려주세요 내공 드려요 1번의 답은... ❸ 예약어(keyword)는 식별자로 쓸 수 없다. 특수문자로는 유일하게 밑줄(_)문자가...
기초적인 c언어 질문드릴게요.. 1. 메모리위치값저장... 데이터가 저장되는 개념을 잘모르는것같아요 ㅜㅜ... 다뤄질 수 있습니다. 그래서 8bit 자료형을 char...
C언어 개념 질문ㅠㅠ 형식지정자 형식제어문자 변환명세 제어문자 특수문자 이 5개... 얻으실 수 없으며, 경고장을 발송할 것입니다. 따라서, 반드시 댓글로 등록하시기...
c언어 동적메모리 파트를 공부하고 있는 학생입니다.... 5개라서 realloc 함수를 주석처리 해서 실행하면 5개... 램이 넉넉해서 다음과 같이 이상없이 사용할 수 있습니다만...
... return 0; } Realloc이 메모리 주소를 바꾸는 것을 확인할 수 있습니다. Buffer: 0000023094036070 buffer resized: 12000000 Buffer: 0000023094036070 buffer...
... 계산할 수 있습니다. // em_p의 현재 크기가 n일 때, // 새로 할당할 메모리 크기는 sizeof(employee) * (n + 1)입니다. em_p = (employee*)realloc(em_p...
... 제가 개념이 없어서 그런지 c의 몇가지 용어라거나... 할당화 초기화에 대한 질문입니다.. 제가 보고있는... 어느성운 언어인지 모르겠구요... 이해 할 수...