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
'C │ C++ │ C# > C++' 카테고리의 다른 글
C++ Chapter 6.4 : 정적 다차원 배열 (0) | 2023.08.31 |
---|---|
C++ Chapter 6.3 : 배열과 선택 정렬 (0) | 2023.08.30 |
C++ Chapter 6.1 : 배열 기초 (0) | 2023.08.26 |
C++ Chapter 5.4 : std::cin 더 잘쓰기 (0) | 2023.08.25 |
C++ Chapter 5.3 : 난수 만들기 (0) | 2023.08.23 |