Programming/C/C++
배열 개수 확인하는 방법
유기농코더
2011. 1. 27. 00:20
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.. }