본문 바로가기
C │ C++ │ C#/C++

C++ Chapter 6.2 : 배열과 반복문

by Pokaa 2023. 8. 27.
728x90
728x90
SMALL
배열과 반복문


반복문에서 하나의 배열을 전체 순회하려면  배열의 크기 를 알아야하는데 어떻게 알 수 있을까? 

 sizeof 를 사용하면 된다.

배열의 크기 = sizeof(배열의 이름) / sizeof(배열의 데이터 타입)
int scores[] = {84, 92, 76, 81, 56};

const int numOfStudents = sizeof(scores) / sizeof(int); // 20 / 4 = 5. 

int total_score = 0;

for (int i = 0; i < numOfStudents; ++i)
{
	total_score += scores[i];
}

 sizeof$($배열의 이름$)$  : 배열의 이름을 sizeof에 넣어주면 이 배열이 차지하는 총 메모리의 크기가 리턴된다.

 sizeof$($scores$)$  경우 int $($4byte$)$의 원소가 5개 있으니 20 byte.

**단, 배열의 주소를 함수의 파라미터로 받은 포인터의 경우 sizeof에 넣으면 포인터 변수이기 때문에 4가 나오니 주의할 것.

$($32 bit 환경에선 8$)$ 이전 필기 참고

 sizeof$($배열의 데이터 타입$)$  sizeof$($int$)$ 의 경우 int는 4byte이니 4가 리턴된다.

 sizeof$($배열의 이름$)$ / sizeof$($배열의 데이터 타입$)$  : 나눠 주면 배열의 크기가 도출된다.

이렇게 구한 배열의 크기 정보를 반복문에서 총 반복 횟수 $($ex. i < numOfStudents$)$로 써주면 된다.

728x90
300x250
LIST