Ox == 16진수

int arr= {{1,2,3},{4,5,6}}
에서 arr가 int이기 때문에, 주소는 4바이트 씩 증가하게됨.

2차원 배열의 저장

arr = {{1,2,3},{4,5,6}}
주소는 메모리상에서 1차원적(linear)으로 저장된다.

arr[0][0] 1 // arr[0][1] / 0 2 / 1 0 / 1 1 / 1 2

  • C언어에서 배열은 행 우선으로 저장하게됨.
    • 다차원 배열을 메모리에 저장하는 순서는 마지막 index가 먼저 변하는 순서로
    • 쉽게 생각해서 가로로 세는 느낌
  • 열 우선저장이란 ?
    • 다차원 배열을 메모리에 저장하는 순서가 첫번째 index가 먼저 변하는 순서로
    • 쉽게 생각해서 세로로 세는 느낌

제어문

  1. block : 여러 개의 문장을 {}로 묶은 것.1개의 statement 면 "생략가능"
  2. { statement1; statement2; ... }
  3. if else 문
if ( 조건문 ) {
참일경우 실행문
}
else {
거짓일 경우 실행문
}

if else 문에서 else는 생략 가능하다.

  1. nested if
if (조건문1){
    if (조건문2){
    실행문
    }
}

둘 다 참일 때 실행문 실행함
and 로 묶은것과 같아짐

if (조건문1 && 조건문2) {
실행문}

과 같음

  1. 중첩 if
    if (조건문){
     if (조건문){
         실행문
         }
     else {
         실행문
         }
else (조건문) {  
if (조건문) {  
실행문  
}  
else {  
실행문  
}  
}

이런식으로도 만들 수 있음

  1. if else matching

if ( 조건문) {  
if (조건문) {  
실행문  
}  
else {  
실행문  
}  
}

이거랑


if ( 조건문) {  
if (조건문) {  
실행문  
}  
}  
else {  
실행문  
}

이거는 차원이 다름
앞에건 뒤에 이중 if 에 else 가 걸리고. 뒤에건 첫 if 문에 else 가 걸림

  1. 연속적인 if 문 (elif 문)
if (조건식1)  
실행식1  
elif 조건식2  
실행식2  
elif 조건식3  
실행식3  
else  
실행식4

얘랑 다음거는 똑같음


if 조건식1  
실행식1  
else  
if 조건식2  
실행식2  
else  
if 조건식 3  
실행식3  
else  
실행식4

시험에 나올 수 있음 서로 바꾸기

  1. switch문
    여러가지 경우 중 하나를 선택하는데 사용
switch (조건식)  
{  
case c1:  
실행1  
break;  
case c2:  
실행2;  
break;
case cn:
 실행 n;
 break;

default:
 문장 d;
 break( break문 생략가능)


}

의도적인 break생략


switch (조건식)  
{  
case c1:  
실행1;  
case c2:  
실행2;  
break;
case cn:
 실행 n;
 break;

default:
 문장 d;
 break( break문 생략가능)


}

1에서 걸리면 1 2를 다 실행하는거고
case2에서 걸리면 2를 실행하는거

범위를 주는 경우, switch를 사용할 수 없음

값이 정확한 지 비교만 가능하다!

'TIL > [C++ 프로그래밍} TIL' 카테고리의 다른 글

TIL (22.03.28)  (0) 2022.03.28
TIL (22.03.23)  (0) 2022.03.23
TIL (22.03.20)  (0) 2022.03.21
TIL 4 (22.03.16)  (0) 2022.03.16
TIL 3 (22.03.16)  (0) 2022.03.16