동적 배열을 만들 때 realloc을 사용하나요 보통?
원래는 malloc하고 memcpy를 모를때는 반복문으로 복사하고, 이후 free하고 다시 새로 malloc한 주소값을 대입하였습니다.

이번 강의에서 realloc을 배우고 이렇게 바꿀 수 있었습니다.

그러면 실제로 동적 배열 만들때는 주로 realloc을 사용할 것 같은데, 강사님께서 realloc을 쓸일이 거의 없다고 하셨습니다.
설명해주신 미리 할당을 받아두고 memory pooling을 구현하기 때문인가요?
아니면 대부분 동적이 아닌 예상할 수 있는 수치의 고정된 크기로 잡을 수 있기 때문에 realloc할 일 조차 없기 때문인가요?
그도 아니면 c에도 동적 배열을 사용하기 위한 라이브러리가 있어서 인가요?
항상 양질의 강의 제공에 감사드립니다.
답변 1
1
우선 보여주신 모드 조작은 어떤 의미로 만든 코드인지 알 수 없으나 일반적이지 않은 코딩 형태라 할 수 있겠습니다. 그리고 '동적 배열'이라는 표현은 C언어서 보이는 일반적 표현이 아닙니다. C언어에서는 통상 '동적 할당 메모리'라고 합니다. 배열은 메모리를 접근하기 위한 수단에 해당하는 문법일 뿐 동적 할당된 것이든 정적 메모리든 상관하지 않습니다.
realloc()을 사용할 경우가 흔치 않은 이유는 생각하시는 것처럼 대량의 메모리가 필요할 때 직접 관리할 목적으로 미리 충분한 양을 받은 후 사용하는 경우가 성능상 유리하기 때문입니다.
Java를 공부하신 후 C언어를 배우시는 것으로 추측됩니다. C언어에는 '동적 배열'이라는 용어가 없다고 생각하시는 편이 이해해 도움이 될 것 같습니다. 참고하시기 바랍니다. 😄
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





