[C++] 변수

강승구·2022년 6월 5일
0

변수

내장타입 변수 선언

#include <iostream>

int main(){
    int i = 2;
    float pi = 3.14;
    double x = 1.5 e6;
    char c1 = 'a';
    bool cmp = i < pi;
}

signed와 unsigned

char, int, long, short와 같은 정수타입에서 사용가능
기본적으로는 signed이지만 unsigned로 선언하면 음수값은 갖지 않고 양수값을 표현할 수 있는 범위가 2배로 넓어지게 된다.

변수 타입 추론

auto키워드는 변수 타입을 자동으로 지정해준다.

#include <iostream>

int main(){
	int i = 1;
    auto n = i + 2;  //n은 int
}

상수

상수는 값을 변경할 수 없다. 따라서 선언과 동시에 값을 반드시 설정해주어야 한다.

#include <iostream>

int main(){
    const int c1 = 2;
    const int c2; //상수에 값을 할당하지 않았기 때문에 컴파일 에러 발생
}

전역변수와 지역변수

전역변수 : 전영역에서 범위 제한 없이 사용 가능한 변수
지역변수 : 변수를 선언한 함수 내에서만 사용 가능한 변수

전역변수는 소프트웨어의 규모가 커짐에 따라 수정사항을 추적하기가 어려워지기 때문에 왠만하면 사용하지 않는 것이 좋다.

축소하지 않는 초기화

변수의 값이 너무 큰 경우에 값이 축소되어 데이터가 손실될 수 있다.
uniform initialization과 braced initialization은 이를 방지할 수 있다.

#include <iostream>

int main(){
    long l1 = 1234567890123; //값을 축소하여 컴파일
    long l2 = {1234567890123}; //값이 변경되어 컴파일 되는 것을 방지한다. (컴파일 에러 발생)
    
    int i1 = 3.14; //int는 소수점을 가질 수 없기 때문에 값을 축소하여 컴파일
    int i2 = {3.14}; //값이 변경되어 컴파일 되는 것을 방지한다. (컴파일 에러 발생)

    unsigned u1 = -3; //unsigned는 음수를 가질 수 없기 때문에 값을 변경해 컴파일
    unsigned u2 = {-3}; //컴파일이 되는 것을 방지 한다. (컴파일 에러 발생)
}
profile
강승구

0개의 댓글