2750번 - 수 정렬하기
안녕하세요, 모르는 부분이 있어 질문드립니다.
보통 1차원 배열은 함수 인자로 받기 어려워 포인터를 이용해 간접 참조가 가능하다고 알고 있습니다.
그리고 int형 배열의 경우 strlen을 이용해서 배열의 길이를 알기 어려워 sizeof(arr)/sizeof(int)로 배열 길이를 확인하는 것으로 알고 있습니다.
문제는 소스를 깔끔하게 처리하기 위해 함수 인자로 배열만 받아 함수 내에서 배열의 길이를 계산하고 싶은데 어떻게 구현해야 할지 감이 안 잡힙니다.
언어적으로 불가능합니다. 반드시 그 길이를 알려주는 추가 정보가 필요합니다.
항상 감사합니다 ㅎㅎ
위에 분 답변이 맞습니다.
뭐 굳이 인자를 많이 쓰는것이 싫다면 배열[0]에 길이에 대한 정보를 넣어두는 것도 나쁘진 않겠군요.
하지만 언어적 한계이기 때문에 불가능합니다
답변 감사합니다! 불가능한 것이었군요 ㅠㅠ
단순히 추가 인자를 넘기지 않는 것이 목적이라면 윗분 말씀대로 0번째에 길이 정보를 담거나, 배열의 끝에 끝을 나타내는 값 하나를 정해서 넣어줘도 됩니다. 마치 문자열의 끝을 널 문자가 나타내듯이요.
항상 많은 도움을 받고 있습니다. 감사합니다!
댓글을 작성하려면 로그인해야 합니다.
dreamian 6년 전
안녕하세요, 모르는 부분이 있어 질문드립니다.
보통 1차원 배열은 함수 인자로 받기 어려워 포인터를 이용해 간접 참조가 가능하다고 알고 있습니다.
그리고 int형 배열의 경우 strlen을 이용해서 배열의 길이를 알기 어려워 sizeof(arr)/sizeof(int)로 배열 길이를 확인하는 것으로 알고 있습니다.
문제는 소스를 깔끔하게 처리하기 위해 함수 인자로 배열만 받아 함수 내에서 배열의 길이를 계산하고 싶은데 어떻게 구현해야 할지 감이 안 잡힙니다.