ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [day1] Variables, 입출력 스트리밍
    C++ 2021. 7. 30. 12:27

    Variables

     

    1. 변수와 오브젝트

    오브젝트 : 메모리에 할당되어있는 것 (things)

    변수 : 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간

    int        x;
    (변수타입)   (변수이름)

     

    2. 변수 초기화(initialize) 와 변수 할당 (assignment)

    과거에는 변수를 정의하고, 정의된 변수에 대해 값을 할당하는 방식이었던반면,

    최근에는 변수를 초기화해서 사용한다. (변수의 초기화는 필수라고 생각하면 된다!)

     

    변수 정의

    변수 x를 위한 메모리 공간이 지정된다.

    int x;

    변수 초기화

    변수 x를 위한 메모리 공간이 지정되는 동시에, 값이 저장된다.

    int x = 10; // 변수를 정의하고 (이름을 붙여줌) , 그 변수에 최초의 값을 할당함 (초기화)

    변수 할당

    변수 x에 값을 저장한다.

    int x = 10;
    x = 5; //변수 할당

     

    3. L-value 와 R-value

    일반적으로 대입 연산자(=)에  왼쪽에 위치하면 l-value, 오른쪽에 위치하면 r-value라고 한다.

    left value = right value
        x      =      1

    L-value에는 변수가 저장되어진다. 즉, L-value는 변수의 메모리에 저장되어 있는 주솟값을 의미한다.

    R-value에는 임시적인 값이 저장되어진다. 즉 R-value는 계산이 완료되고 사라지는 값이 저장된다.

    int x = 20;
    
    x = x+10;

    위와 같은 코드에서 x = x+10 을 살펴보자.

    같은 x가 왼쪽, 오른쪽에 사용되었으나, 의미하는 바는 다르다.

    왼쪽 x 는 변수 그 자체, 즉 컴퓨터 메모리 저장 위치를 의미한다. (변수는 메모리에 저장된 공간임을 확실히하자.)

    오른쪽 x 는 값, 즉 변수 x가 갖고있던 값 10을 의미한다.

     

     

    입출력 스트리밍

    c++ 에는 2가지 입출력 방식이 있다.

    1. iostream

    cout

    콘솔창에 값을 print하는 함수.

    std 라는 namespace안에 내제되어있다. (name space는 :: 를 사용해 함수를 call한다.)

    #include <iostream>
    
    int main(){
     std::cout << "Hello, World"
    }

    cout

    사용자로부터 입력값을 받는 함수

    #include <iostream>
    
    int main(){
     int x;
     std::in >> x;
    }

    'C++' 카테고리의 다른 글

    0924 해쉬구현중 (with linkedlist)  (0) 2022.09.24
    [day2] C++ 준비운동 (함수, namespace 등)  (0) 2021.08.03
    [Mac]Visual Studio Code 설치하기  (0) 2021.07.25
Designed by Tistory.