게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 동적할당 질문드립니다.
게시물ID : programmer_17282짧은주소 복사하기
작성자 : 전벙글이예요
추천 : 0
조회수 : 521회
댓글수 : 6개
등록시간 : 2016/05/19 17:38:13
옵션
  • 본인삭제금지
난관에 봉착했습니다..

제가 원하는 것은 문자열을 입력받고 그 문자열 단어하나하나를 아스키코드로 변환하여 이진수로 만드는겁니다.
word에 문자열을받고 binary에 이진수를 집어넣는건데요.
이미 기존에 완성된 코드였습니다. 
단 배열의 크기가 정해져있었을 뿐이였구요.
그래서 배열의크기를 문자열이 입력되는 크기만큼 유동적으로 변동되게 만들고 싶었습니다.
그럼 동적할당을 해야하는데

word라는 배열에 scanf로 입력을 받습니다.
그리고 word의 길이만큼 동적할당을 해줘야하는데..
문제는 *word 초기선언시 메모리가 할당되지 않은 상태에서 문자열을 받으니 당연히 중지가 됩니다.
이런경우는 임의의 크기의 수로 미리 선언을 해두어야하나요?
아래 코드는 제가 작성한건데 문제가 있는 코드입니다.
당연히 문제겠죠.. 제가 봐도 문젠데..
그런데 도저히 방법이 생각이 나질 않네요 ㅠㅠ

char *word = NULL;
int (*binary)[8];

printf("입력하세요: ");
scanf("%s", word);
fflush(stdin);

lenth = strlen(word);

word = (char*)malloc(sizeof(int) * lenth);
binary = (int(*)[8])malloc(sizeof(*binary) * lenth);
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호