난관에 봉착했습니다.. <div><br></div> <div>제가 원하는 것은 문자열을 입력받고 그 문자열 단어하나하나를 아스키코드로 변환하여 이진수로 만드는겁니다.</div> <div>word에 문자열을받고 binary에 이진수를 집어넣는건데요.</div> <div>이미 기존에 완성된 코드였습니다. </div> <div>단 배열의 크기가 정해져있었을 뿐이였구요.</div> <div>그래서 배열의크기를 문자열이 입력되는 크기만큼 유동적으로 변동되게 만들고 싶었습니다.</div> <div>그럼 동적할당을 해야하는데</div> <div><br></div> <div>word라는 배열에 scanf로 입력을 받습니다.</div> <div>그리고 word의 길이만큼 동적할당을 해줘야하는데..</div> <div>문제는 *word 초기선언시 메모리가 할당되지 않은 상태에서 문자열을 받으니 당연히 중지가 됩니다.</div> <div>이런경우는 임의의 크기의 수로 미리 선언을 해두어야하나요?</div> <div>아래 코드는 제가 작성한건데 문제가 있는 코드입니다.</div> <div>당연히 문제겠죠.. 제가 봐도 문젠데..</div> <div>그런데 도저히 방법이 생각이 나질 않네요 ㅠㅠ</div> <div><div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">char *word = NULL;</span></div> <div> <div>int (*binary)[8];</div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">printf("입력하세요: ");</span></div> <div>scanf("%s", word);</div> <div>fflush(stdin);</div> <div><br></div> <div>lenth = strlen(word);</div> <div><br></div> <div>word = (char*)malloc(sizeof(int) * lenth);</div> <div>binary = (int(*)[8])malloc(sizeof(*binary) * lenth);</div></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.