작성
·
426
0
9:34 에 나오는 코드를 따라했는데 다음 화면처럼 오류가 뜨고 실행이 되지 않았는데요
제가 다른 분 질문보고 혹시 이건가 해서 고쳤더니 해결되었습니다. (malloc이 <stdlib.h> 에 정의되어 있는데 이것을 include 하지 않아서 였습니다. )
그런데 강의화면의 경우 <stdlib.h>를 쓰지 않고도 실행이 잘되는데 <stdlib.h>가 뭔가 세부내용이 바뀌어서 그런 건가요?
그리고 이번에는 다행히 잘 해결된 상황이긴 하지만 제 화면에서처럼 저러한 exception throw 오류가 뜨면 저것을 보고 'malloc이 정의가 안 되어있구나' 라고 어떻게 생각해야 하나요?
malloc에 빨간 줄이 쳐진 것도 아니고 오류를 어떻게 해결해야 했던 건지 궁금합니다.
답변 4
3
말씀하신대로 malloc은 stdlib을 include해야 합니다.
(강의에서도 9:23 을 잘 보면 빌드하는 과정에서 아래와 같이 'malloc' undefined; 라는 오류 메세지를 출력합니다.)
질문자님께서 보신 Exception Thrown이라는 오류 메세지는 아마도 Visual Studio의 버전이 달라서
이에 출력하는 메세지도 달라진 것으로 보입니다. 컴파일러마다, 버전마다 오류 메세지는 조금씩 차이가 있을 수 있습니다. 일례로 gcc라는 컴파일러는 아래처럼 오류 메세지를 출력합니다.
추후 비슷한 문제를 접하게 되신다면 Exception Thrown이라는 메세지보다
write access violation, str5~ 에 집중해보시기 바랍니다.
아래와 같은 의식의 흐름으로 생각해보시면 되지 않을까 싶습니다.
"쓸 수 없는 공간에 어떤 값을 저장하려 해서 문제가 발생했구나, 그리고 그 변수는 str5와 관련이 있겠구나"
-> "str5에 나중에 저장한 값(str5[0], str5[1], str5[2], ...) 에는 문제가 없는데, 그렇다면 변수가 초기화되는 순간이 잘못되었겠네" -> 근데 malloc 저 친구는 왜 저기에 있는거지? 변수도 아닌데?
-> 아 malloc에 문제가 있구나..
강의에서 stdlib을 사용하지 않았고, 특별한 언급이 없었기에 더욱 디버깅이 까다로우셨을 듯 합니다.
도움이 되었길 바랍니다.
추가적으로 궁금하신 것이 있다면 댓글 달아주세요.
감사합니다.
0
0
답변해주셔서 감사합니다.
저도 저렇게 해봤는데 기본으로 돌아가는 기능은 없는 것 같습니다.
내일 문의해봐야겠습니다. 강의 첫화면에서 볼 때 하단에 질문자 프로필이 좀 신경쓰였던 거였던 건데 그냥 살아야겠네요
항상 친절한 답변 감사드립니다. 답변을 너무 잘해주셔서 조교님 계실 때 얼른 수강해서 끝내고 싶어요. 감사해요
0
자세한 답변 정말 감사합니다! 항상 많이 배우고 갑니다.
그리고 이 질문은 강의주제와 벗어난 질문거리인데 실례를 무릎쓰고 여쭤봅니다.
인프런의 프로필 사진은 어떻게 내리는지 알려주실 수 있을까요?
프로필 수정하기를 해도 사진 변경만 되고 기본프로필 ( 아무것도 없는)로 돌아가는 기능이 보이질 않아서요
인프런 관계자는 아니시겠지만 혹시 아시면 답변 부탁드려도 될까요
제가 질문을 여러 번 했더니 질문게시판에 제 프로필이 연속해서 뜨는게 좀 튀는 것 같고 해서
기본으로 하고 싶은데 잘 안되네요
인프런 문의하기도 자꾸 이상한 답변만 해서 너무 답답합니다..
1. 아래와 홈 버튼을 누르시고
2. 여기에서 바꿀 수 있다는거는 알고 있습니다. 여기에서 기본으로 바꿀 수 있는지는 잘 모르겠네요.
그런데, 제가 보기에는 질문 게시판에 프로필 사진은 안뜨고 이렇게 아이디만 뜹니다.
(저도 ddlovesbread님 프로필 사진은 지금 처음 봤네요...ㅎㅎ)
누구보다도 열심히 하고 계시다는 반증이니, 부담갖지 마시고 마구마구 질문주셔도
개인적으로는 괜찮을 듯 합니다 :) 오히려 멋있으세요.
도움이 되었다니 다행입니다 :) 화이팅입니다!