응 main 에 있는 while 에서 말야. 입력이 들어오면 무조건 for 문에 의해 malloc 을 100번 씩 하고, 같은 내용을 100개의 할당된 공간에 똑같이 넣게 되어 있어. 이게 너의 의도는 아닐꺼야. 너의 의도는 word_list 에 입력받은 문자열을 최대 100개, 모두 고스란히 저장하는 것일 텐데 이러면 가장 최근에 입력된 문자열만 똑같은게 100개가 있겠지? 그리고 매번 입력될 때 마다 새로운 공간을 100개씩 malloc 으로 뽑아오는데 두 번만 돌면, 이런 공간 100 개는 값이 덮어써져서 free 를 못하게 되는거야.
익명(182.227)2016-05-23 02:09
free 또한, word_list 에 들은 거 하나 하나에 대해서 다 해줘야 하니까 for 돌려야겠지?
응 main 에 있는 while 에서 말야. 입력이 들어오면 무조건 for 문에 의해 malloc 을 100번 씩 하고, 같은 내용을 100개의 할당된 공간에 똑같이 넣게 되어 있어. 이게 너의 의도는 아닐꺼야. 너의 의도는 word_list 에 입력받은 문자열을 최대 100개, 모두 고스란히 저장하는 것일 텐데 이러면 가장 최근에 입력된 문자열만 똑같은게 100개가 있겠지? 그리고 매번 입력될 때 마다 새로운 공간을 100개씩 malloc 으로 뽑아오는데 두 번만 돌면, 이런 공간 100 개는 값이 덮어써져서 free 를 못하게 되는거야.
free 또한, word_list 에 들은 거 하나 하나에 대해서 다 해줘야 하니까 for 돌려야겠지?
아 그럼와일문을지워야되는데 그럼 100개단어 모두입력하기전에종료하려면어찌해야되죠?ㄷᆢ - DCW
응 니 프로그램은 이미 numWords 라는 걸 가지고 있어. for 없애고 while 안에서 numWords를 써서 malloc 으로 할당한 것도 받고, 이거 100 넘으면 break 을 하면 되겠지?