본문 바로가기
프로그래밍/c++

c++ 21. 1차원 배열의 크기 찾는 법

by 지나팩 2024. 3. 28.

배열의 크기는 배열을 선언 시에 작성하게 되는데 이 크기를 알고 있다면 문제가 없지만 이 배열의 크기를 모른다면 배열의

인덱스를 벗어나는 문제가 빈번히 발생할 수 있습니다. 특히 함수로 배열을 전달할 때는 배열의 크기 정보가 전달되지 않으므로, 배열의 크기를 따로 매개변수로 전달하거나 다른 방법을 사용해야 합니다.

 

배열의 현재 크기를 몰라도 크기를 알 수 있는 방법에 대해 알아보도록 하겠습니다.

 

sizeof(arr)은 배열 arr의 전체 크기를 바이트 단위로 반환합니다. sizeof(arr[0])은 배열의 한 요소의 크기를 바이트 단위로 반환합니다. 따라서 sizeof(arr) / sizeof(arr[0])는 배열의 전체 요소 수, 즉 배열의 크기를 나타냅니다.

 

위 방법의 경우 지역 내에서 배열의 정보를 얻을 경우 유효하지만 만약 배열을 매개변수로 넘긴다면 배열의 시작 주소만을 받으므로, 배열의 크기 정보는 유지되지 않습니다. 그래서 아래와 같이 해주시면 됩니다.

가장 일반적인 방법은 배열의 크기를 함수의 별도 매개변수로 전달하는 것입니다. 이 방법은 단순하며, 매우 효과적입니다.

 

2차원 이상 다차원 배열도 크기를 알 수 있지만 다차원 배열에 대해 알아보며 크기 찾는 법도 함께 알아보도록 하겠습니다.

 

'프로그래밍 > c++' 카테고리의 다른 글

c++ 23. Array 컨테이너  (0) 2024.04.03
c++ 22. 다차원 배열  (0) 2024.03.28
c++ 20. 배열 Array  (0) 2024.03.13
c++ 19. 함수 오버로딩  (0) 2024.02.23
c++ 18. 함수 function  (0) 2024.02.22

댓글