메모리 동적 할당
조롱목
2023.04.01
총 데이터가 어느정도인지 알면 malloc 을 사용해도 되지만
데이터를 불러오면서 동시에 메모리 크기를 키우고 십습니다.
처음에 크기 1 이이였다가, 데이터가 하나 더 들어오면 크기가 2가 되고
또 들어오면 3....4..5...6..7.8..9.10
들어올 데이터는 char 입니다. 어떻게 해야할까요?
-
나라빛
아니면 메모리의 크기를 기억하는 변수를 가지고 있다가 할당받은 것을 다 쓰면 realloc하는 것도 한 방법입니다. (이건 결국 vector를 직접 구현하는 것과 비슷합니다)
-
뽀대미녀
꼭 C언어가 아니어도 된다면, C++의 STL 표준 vector를 사용하는걸 고려해 보시죠... C++을 만든 비야네스트럽스트룹께서 말씀하시기를 바퀴를 만들려 하지 말라고 하셨습니다... 즉 이 세상에 없는거라면 만들어서 쓰는게 맞지만 내노라하는 프로그래머들이 작성한 컴파일러에 내장된 라이브러리나 표준함수로 존재하는것을 개인이 다시 만들어봤자 성능은 개떡같고 쓰기는 불편하다는 얘기죠...