플래그 변수
- bool 형으로 변수를 선언하고 특정 코드가 조건에 맞을때 해당 변수를 조정하고, 이후 그 부분에서의 조건을 검사하기 위한 용도로 사용한다.
- 짧게 : 로직에서 특정 상황을 체크하기 위해 사용한다.
- bool isPrime = true; 형태
- 조건을 검사해서 소수가 아니라면 isPrime = false; 로 처리한다.
- 이후 if(isPrime) {코드 실행} 으로 진행된다.
배열 (Array)
데이터타입 배열명[크기];
배열 선언과 사용
- 같은 타입의 여러 데이터를 연속적으로 저장하는 자료구조
- 메모리상에서 연속된 공간에 배치
- 인덱스[ ]를 통해 각 요소에 접근
- [ ] : 배열 인덱스 연산자, 배열 접근 연산자 라고도 부른다.
- 배열 이름(피연산자)[숫자(피연산자)] ⇒ 피연산자 연산자 피연산자 로 동작한다.
- int 형 변수로 접근이 가능하다.
- 단, 선언 부분으로는 변수 입력이 불가능하다.
- 배열의 이름 = 해당 배열의 주소
- 배열 바이트 크기 : 자료형 * 배열 요소 갯수
- int arr[5] ⇒ 4바이트 * 5개 : 20바이트
- 배열의 선언 후 바로 초기화가 가능하지만, 초기화하지 않고 선언후 한번에 대입은 불가능하다.
- int arr[5] = { 1, 3, 5, 7, 9 }; ⇒ 가능
- int arr[5]; arr = { 1, 3, 5, 7, 9 }; ⇒ 불가능
- 배열의 내용물을 한번에 옮길 수 없다.
- int arr[5] = { 1, 3, 5, 7, 9 };
- int brr[5] = arr; ⇒ 불가능
- 총알 같이 FPS 오브젝트 하나하나를 다룰때도 사용한다.
배열 요소 갯수 확인
int arr[5] = { 1, 3, 5, 7, 9 };
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
printf("%d\\\\n", arr[i]);
}
- int arr[5] ⇒ 정적 할당
- 초기화를 안하고 출력하면? : 메모리의 쓰래기값이 출력된다.
- [](배열 크기)를 안넣는다면? : 총 요소의 갯수가 정해지지 않지만 초기화 이상으로 출력하면 쓰래기값이 출력된다.
- []를 안넣어도 되는 경우 : 선언 후 초기화가 바로 진행된 경우
- 초기화된 요소의 갯수만큼 메모리 크기가 자동으로 정해진다.
- { }로 요소를 안적고 초기화 한다면? : 모든 요소가 0으로 초기화된다.
- int arr[5] = { }; ⇒ 모든 요소를 0으로 초기화할때 사용한다.
- sizeof(arr): 배열 전체의 크기(바이트)
- sizeof(arr[0]): 배열 요소 하나의 크기(바이트)
- sizeof(arr) / sizeof(arr[0]): 배열의 요소 개수 계산
배열 활용
- 거꾸로 출력하기
- 배열의 마지막 인덱스부터 첫 번째 인덱스(n-1)까지 역순으로 접근
- for문의 초기값, 조건, 증감식을 역순으로 설정
- 최댓값, 최솟값 구하기
- 첫 번째 요소를 기준값으로 설정
- 반복문을 통해 나머지 요소들과 비교
- 조건에 따라 기준값 업데이트
- 최댓값, 최솟값은 부등호만 바꾸면 된다.
- 홀수의 개수 구하기
- 각 배열 요소를 2로 나눈 나머지 확인
- 나머지가 1인 경우 홀수로 판단
- 카운터 변수로 개수 누적
다차원 배열
int arr[3][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%4d", arr[i][j]);
//scanf("%d", &arr[i][j]); //입력 받아서 쓰는 경우
//arr[i][j] *= 10 //10배씩 하는 경우
}
printf("\\\\n");
}
- 행과 열로 구성된 표 형태의 배열
- 행 부분 요소 갯수 생략 가능
- 이유 : 열의 갯수로 행이 구분이 자동으로 이루어진다.
- 2개의 인덱스로 요소에 접근한다.
- 해상도와 관련이 있다.
- int arr[3][4] ⇒ 총 12개의 int 값을 가지고 있는 배열이다.
- %4d: 4자리 폭으로 정수 출력하여 정렬
브레이크 포인트
- 디버깅을 한줄씩 실행하는 방법이다.
- 단축키 : 실행 줄 클릭 + f9
- 브레이크 중 한줄씩 실행 : f10
- 실행 : f5
- 중단 : shift + f5
- 중단점 창 : 디버그 - 창 - 중단점
- 조사식 창 : 브레이크 포인트 후 실행 - 디버그 - 창 - 조사식 - 조사식1
- 조사식의 이름에 변수 이름을 입력하면 현재 저장되어있는 값을 확인할 수 있다.
- 자동, 지역 : 현재 실행되어있는 부분의 변수와 값을 보여주는 창이다.