jrw9215   5년 전

C언어 3차원 포인터와 메모리 할당을 이용해서 소스코드를 작성하고 있습니다.

다 작성하고나서 질문게시판에 있는 모든 예외를 다 입력하고 출력하니 정답은 다 나옵니다만

for문에서 사용한 _msize()함수때문에 컴파일에러가 발생합니다.

SDL검사 그거때문인 듯 싶은데, malloc.h 헤더파일을 포함시켜도 그러네요.

혹시 할당된 메모리 크기를 알 수 있는 또다른 함수가 있을까요? 아니면 처음부터 배열로 작성해야 할까요.


래의 소스코드는 _msize()사용예구요 그외 많은다른곳에서도사용하고 있습니다. 


bupjae   5년 전

_msize 는 표준에 정의되어 있지 않은 함수로, Visual C++ 에서만 정의된 것으로 알고 있습니다.

 

 

_msize 사용하는 자리에 대신 sizeof(char)*m + 1 를 넣으면 안되는 이유가 있나요?

jrw9215   5년 전

반복문 돌때 인덱스 i,j,k들이 문자열 길이만큼 도는데요, 이게 문자열을 char arr[z][y][x] 같이 배열로 선언한게 아니라

char ***p 로 선언해두고 이 포인터에 메모리할당을 해서 그래요.. scanf자리에서야 말씀대로 하면 되겠지만포인터를 이용해 문자열을 저장해서 나머지 3중 for문의 조건식에서는 어찌 할 방법이 없더라구요.  그냥 배열로 다 바꿔버려야할까봐요.


jrw9215   5년 전

아 strlen에다가 포인터 그냥 집어넣으면 되겠네요 생각해보니! 감사합니다!

댓글을 작성하려면 로그인해야 합니다.