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 |