책 내용 질문하기
부록 기출문제집 32쪽 문제 질문
도서
2024 시나공 정보처리기능사 실기 기본서
페이지
0
조회수
153
작성일
2024-08-15
작성자
송*규
첨부파일

분명 해설에서도 str은 16칸짜리 배열의 시작 주소를 저장하는 변수라 하였고 따라서 str은 지금 1000을 저장하고 있는 정수형 변수인데요,


왜 if문을 실행할 때 값을 str에 저장하고 갑자기 str이 왜 저 16칸짜리 배열이 되는지 모르겠습니다 ㅠ


또 malloc앞에 형변환 연산자 char이 붙었는데 뒤에 *가 같이 붙는 이유는 뭔가요? 그냥 문법인건가요? int형은 그냥 붙여도 되는데 char형만 다른가해서 여쭤봅니다 ㅠ

답변
2024-08-16 13:44:55

안녕하세요 길벗수험서 운영팀입니다.

해당 문제는 a라는 배열에 값을 넣어 놓고

들어간 데이터중 빈공백을 빼고 str에 저장을 하는문제입니다

malloc 함수가 메모리에서 char 자료형의 크기가 1byte이니 1*16을 하여 16Byte의 빈 영역을 찾아 할당을 하니 str이 16개의 기억장소를 갖는다 라고 표현을 한것입니다

char* str = (char*)malloc(sizeof(char) * len);

위의 식에서 (char*)의 경우 형변환을 한 주소값을 넘겨주기 위해 *를 붙인것입니다

행복한 하루되세요 :)

  • 관리자
    2024-08-16 13:44:55

    안녕하세요 길벗수험서 운영팀입니다.

    해당 문제는 a라는 배열에 값을 넣어 놓고

    들어간 데이터중 빈공백을 빼고 str에 저장을 하는문제입니다

    malloc 함수가 메모리에서 char 자료형의 크기가 1byte이니 1*16을 하여 16Byte의 빈 영역을 찾아 할당을 하니 str이 16개의 기억장소를 갖는다 라고 표현을 한것입니다

    char* str = (char*)malloc(sizeof(char) * len);

    위의 식에서 (char*)의 경우 형변환을 한 주소값을 넘겨주기 위해 *를 붙인것입니다

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.