1. 배열선언안하고도 *ptr=malloc(어쩌구)만해도 바로 배열로 쓸수있는건가요?
2. malloc이랑 calloc이랑 비슷하게 사용할수있는데 뭘더 많이, 자주씀?
3, realloc같은경우는 free하고 다시 선언해주면 되는거아닌가요? 꼭 쓰다가 늘려야하는경우가있나요? 경험이없어서 질문좀 드립니다
2. malloc이랑 calloc이랑 비슷하게 사용할수있는데 뭘더 많이, 자주씀?
3, realloc같은경우는 free하고 다시 선언해주면 되는거아닌가요? 꼭 쓰다가 늘려야하는경우가있나요? 경험이없어서 질문좀 드립니다
니가 아는 배열 선언은 일반적으로 지역 변수 스택에 할당하는 거고( 전역 배열은 아님 ) 메모리 동적 할당해서 쓰면 힙에 저장된다는 차이 뿐. 배열이란 건 애초부터 그냥 연속된 공간을 지칭하는 것일 뿐. calloc 은 난 거의 안써서 모르겠다. 그리고 realloc 은 중요한 점은 알아서 크기 늘리고 복사를 해준다는 거다. free 하고 다시 할당하면 당연히 데이터가 온전히 남을 리가 없지. 따로 복사를 해주던가 해야지.
0으로 채운다고합니다
http://stackoverflow.com/questions/2688466/why-mallocmemset-is-slower-than-calloc