본문 바로가기

Programming/C/C++

배열 개수 확인하는 방법

STL을 사용하지 않은 상태에서는 항상 배열의 크기를 정수형으로 가지고 다녀야 한다. 구조체나 클래스를 생성할때도 배열의 사이즈를 따로 변수화 해서 가지고 다니게 되는데, 기본적인 함수만으로 개수를 파악 할 수 있다.

   

가령 아래와 같이 선언했다고 하자.

int a[6];

   

sizeof(a); // 배열 a의 전체 크기(24byte)
sizeof(*a);// 배열 a중 원소 하나의 크기(4byte);

   

sizeof 로 전체와 개별의 크기를 파악 할 수 있다. 그렇다면?!

   

전체 / 하나 = 개수

   

이지 않던가?!

   

따라서 아래와 같은 식으로 호출 하는 것이 가능하다.

   

int numberOfArray = sizeof(a) / sizeof(*a);
for(int i = 0 ; i < numberOfArray ; i++){
        //do something..
}

'Programming > C/C++' 카테고리의 다른 글

포인터 2차 동적 할당  (0) 2011.02.21
Random double 값 추출하기  (0) 2011.02.10
cos  (0) 2011.02.10
문자열과 숫자형 변환  (0) 2011.01.26
메모리 누수 검사  (0) 2011.01.26