TIL 2024/7/23

Sung Joo Lee·2024년 7월 23일
0

배열, 명령문과 연산자, 제어문

참고


https://www.youtube.com/watch?v=oDwfetWn7NQ&list=PLMcUoebWMS1nzhlx-NbD4KBGEP1UCUDF_&index=10


배열

동일한 타입인 요소들의 집합, 복합(compound) 데이터 타입

  • 개별 요소들에 직접적인 접근이 가능
  • 사용 목적
    • 아래와 같은 코드를 효율적으로 바꿀 수 있음

      int score_1 = 0;
      int score_2 = 0;
      int score_3 = 0;
      int score_4 = 0;
      int score_5 = 0;
      			.
      			.
      			.
      			
      int score[5] = 0 ;//
      
  • 특징
    • 고정된 길이(수정이 불가능)

    • 연속된 메모리 주소에 저장

    • 인덱스를 통해 접근 가능

    • 인덱스는 0부터 시작하며, 마지막 인덱스는 size - 1

    • out of bound 체크하지 않음

    • 초기화 필요

    • 효율적인 데이터 구조

      프로젝트에서는 잘 사용하지 않음.. 보통 STL 사용함, 그럼 왜 배우는가?

    • 얘가 가장 기초적인 내용이기에, 다른 라이브러리들 또한 얘들 Base로 만들었음.

    • 다른 사람 코드를 확인하기 더 쉽기때문에.

배열의 정의

ElementType array_name [Constant number of element]

왜 상수만 들어가야 하는가~?

  • 배열의 특징을 보면 ‘고정된 길이’가 있던 것을 기억하는 가? 맞다 우리가 변수를 그대로 넣을 경우 중간에 변수에 값을 입력을 받거나 한다면 길이가 바뀔 것이다. 이는 배열의 특징에 위배된다

.

int main(0
{
	int one[3] = {0}; //모두 0으로 초기화 됨
	int score[6] = {100,858,21,60,56};// 배열의 선언 및 초기화
	
	//주의
	
	int number = 6;
	int arr[number];//오류 발생 -> 상수가 아니라서
	
	const int num = 3;
	int arr2[num];// 가능 -> 상수이기 때문에
}

배열의 초기화 방법

int scores[5] = {100,85,21,56,70};

int high_scores[10] = {3,5};//3,5 이후 0으로 초기화

const int days_in_year = 365;
double temperature[days_in_year] = {0};//모두 0으로 초기화

int my_array[] = {1,2,3,4,5};

배열의 접근

int scores[3] = {1,2,3};

std::cout << scores[0]; // 1
std::cout << scores[1]; // 2
std::cout << scores[2]; // 3

score[0] = 100;
std::cout << scores[0]; // 100 출력

연산자

  • 연산자의 종류
    1. 단항
    2. 이항
      1. 피연산자가 두 개
    3. 삼항
      1. 대표적으로 조건문에서 사용하며 (a) ? b : c 와 같이 표현한다
        1. a 가 true이면 b , false 면 c의 값을 갖는다
  • 대입 연산자
    • l - value & r - value
      • 오른쪽의 값을 계산하여 왼쪽에 대입
      • 컴파일러가 대입 가능한지 체크
      • 왼쪽은 대입이 가능해야 함, (상수는 올 수 없다, 변수는 가능함)

이외 관계 , 논리 등 여러 연산자가 존재 하지만 이미 알고 있는 내용이라 넘어 가겠다.

profile
개발로그

0개의 댓글