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가 먼저 변하는 순서로
- 쉽게 생각해서 세로로 세는 느낌
제어문
- block : 여러 개의 문장을 {}로 묶은 것.1개의 statement 면 "생략가능"
{ statement1; statement2; ... }
- if else 문
if ( 조건문 ) {
참일경우 실행문
}
else {
거짓일 경우 실행문
}
if else 문에서 else는 생략 가능하다.
- nested if
if (조건문1){
if (조건문2){
실행문
}
}
둘 다 참일 때 실행문 실행함
and 로 묶은것과 같아짐
if (조건문1 && 조건문2) {
실행문}
과 같음
- 중첩 if
if (조건문){
if (조건문){
실행문
}
else {
실행문
}
else (조건문) {
if (조건문) {
실행문
}
else {
실행문
}
}
이런식으로도 만들 수 있음
- if else matching
if ( 조건문) {
if (조건문) {
실행문
}
else {
실행문
}
}
이거랑
if ( 조건문) {
if (조건문) {
실행문
}
}
else {
실행문
}
이거는 차원이 다름
앞에건 뒤에 이중 if 에 else 가 걸리고. 뒤에건 첫 if 문에 else 가 걸림
- 연속적인 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
시험에 나올 수 있음 서로 바꾸기
- 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 |