<기본 for문 : ~하는 동안>
아래의 순서대로 코드가 실행된다.
for ( 1.초기화식 ; 2.조건식 ; 4.증감식 ) { 3.코드블록 } |
<그림 1-1> for문은 초기화, 조건식, 증감이 한번에 들어갈 수 있다.
따라서 조건이 하나였던 while보다 광범위하게 쓰일 수 있다.
초기화식을 초기에 한번만 실행이 된다. 다시 초기화가 되지않는다.
초기화식은 따로 빼서 전역변수로 따로 선언해도 된다.
3가지 식을 모두 빼도 상관이 없지만 세미콜론은 꼭 2개를 남겨놔야한다.
<그림1-2> for문 안의 3가지 식을 밖으로 빼보았다.
조건식으로 for문을 빠져나올 수 있도록 break를 꼭 걸어줘야 한다.
조건식은 false를 반환하면 함수를 빠져나온다.
조건이나 초기화 증감을 중첩해서 사용할 수 있다.-> 콤마로 구분 한다.
<그림1-3>이중 for문 반복문 중첩사용 가능하다.
반복문은 서로 얽혀서 사용 가능하다.
for문 안에 꼭 for문 하나만 넣지 않고 for문 2개 3개를 넣어도 된다.
상황에 따라 구조는 자기가 짜기 나름이다.
<그림1-4>
그림 1-4 처럼의 for문의 구조도 가능. 하고 for 문안의 while 도 가능하다.
반복문을 겹쳐서 사용할 수 록 그 수의 제곱배 만큼 가지수가 늘어나서
복잡해진다. 따라서 3개 4개까지는 잘 사용하지는 않는다.
1
2
3
4
5
6
|
int sum = 0;
for (size_t i = 0; i < 10; ++i)
{
sum += i;
}
|
cs |
<size_t>
size_t 는 typedef 를 이용하여 정의한 하나의 별칭(alias)이다.
size_t는 부호 없는 정수형 (unsinged integer)으로 sizeof, alignof, offsetof의 반환 값입니다. 이론적으로 가능한 오브젝트의 최대 크기를 저장할 수 있는 타입이며 일반적으로, 배열 인덱싱 및 루프 계산에 사용됩니다. 이렇게 size_t 라는 이름으로 정의해 놓은 것입니다. size_t 는, 32비트 운영체제에서는 "부호없는 32비트 정수"이고, 64비트 운영체제에서는 "부호없는 64비트 정수"입니다. 시스템에 따라 크기가 변화한다.
unsigned_int 타입이 "아니다" unsigned 자료형을 반환한다. 이론적인 최대 크기를 표현하는 자료형이다.
반복문을 사용할때 int의 경우 오버플로우를 발생 시킬 수 있다. 안전하게 사용하기 위해서 size_t를 사용할 수 있다.
size_t가 필요한 이유는 1바이트로 만들 수 있는 최대 크기의 array(배열) 라든지, 하나의 값이 가질 수 있는 최대의 크기를 범위로 하는 값을 다룰 때 필요하다. 최대 크기 까지 사용하고 싶을때 사용한다고 보면 된다.
또 한개의 파일 크기가 4GB가 넘거나 큰 데이터를 다뤄야 한다면 필수적으로 알고 있어야 한다.
size_t를 쓰기 위해 필요한 헤더파일은 그때그때 찾아보자 ^^
'프로그래밍 > C++' 카테고리의 다른 글
[C++]함수범위, 지역변수, 정적변수(static), 전역변수 (0) | 2021.09.15 |
---|---|
[C++]rand, sland 함수 (0) | 2021.09.11 |
while (반복문) (0) | 2021.09.10 |
분기문 (if, switch, goto, while) (0) | 2021.09.10 |
증감연산자, 헝가리안 표기법 (0) | 2021.09.10 |