..

Search

18) 기타 연산자

18) 기타 연산자

기타 연산자


삼항 연산자(ternary operator)

삼항 연산자는 다른 언어에는 존재하지 않는 C언어와 C++만의 독특한 연산자입니다.

이 연산자는 C++에서 유일하게 피연산자를 세 개나 가지는 조건 연산자입니다.

 

삼항 연산자의 문법은 다음과 같습니다.

문법

조건식 ? 반환값1 : 반환값2

 

물음표(?) 앞의 조건식에 따라 결괏값이 참(true)이면 반환값1을 반환하고, 결괏값이 거짓(false)이면 반환값2를 반환합니다.

 

예제

int num1 = 11;

int num2 = 10;

int result;

 

result = (num1 < num2) ? num1 : num2;

 

cout << "둘 중에 더 작은수는 " << result << "입니다.";

코딩연습 ▶

실행 결과

둘 중에 더 작은수는 10입니다.


쉼표 연산자

쉼표(,) 연산자는 얼핏 연산자가 아닌 것처럼 보이지만 다양한 용도로 사용되는 연산자입니다.

이 연산자는 어떠한 연산을 수행하는 것이 아닌 다음과 같은 상황에서 사용됩니다.

 

 - 두 연산식을 하나의 연산식으로 나타내고자 할 때

 - 둘 이상의 인수를 함수로 전달하고자 할 때

 

예제

 

int num1 = 15, num2 = 8;

cout << "첫 번째 수는 " << num1 << "이고, 두 번째 수는 " << num2 << "입니다.";

 

코딩연습 ▶

실행 결과

첫 번째 수는 15이고, 두 번째 수는 8입니다.

 

위의 예제에서 쉼표 연산자는 둘 이상의 변수를 동시에 선언하기 위해서 사용되었습니다.


sizeof 연산자

사용자의 컴퓨터 환경에 따라 타입에 할당되는 메모리의 크기가 달라질 수 있습니다.

sizeof 연산자는 단항 연산자로 피연산자의 크기를 바이트 단위로 반환합니다.

이 연산자의 피연산자로는 타입뿐만 아니라 변수나 상수도 올 수 있습니다.

sizeof 연산자에 변수나 상수가 피연산자로 전달되면, 해당 변수나 상숫값에 해당하는 타입의 크기를 반환합니다.

예제

cout << " char형 데이터에 할당되는 메모리의 크기는 " << sizeof(char) << " 바이트입니다." << endl;

cout << " short형 데이터에 할당되는 메모리의 크기는 " << sizeof(short) << " 바이트입니다." << endl;

cout << " int형 데이터에 할당되는 메모리의 크기는 " << sizeof(int) << " 바이트입니다." << endl;

cout << " long형 데이터에 할당되는 메모리의 크기는 " << sizeof(long) << " 바이트입니다." << endl;

cout << " long long형 데이터에 할당되는 메모리의 크기는 " << sizeof(long long) << " 바이트입니다." << endl;

cout << " float형 데이터에 할당되는 메모리의 크기는 " << sizeof(float) << " 바이트입니다." << endl;

cout << " double형 데이터에 할당되는 메모리의 크기는 " << sizeof(double) << " 바이트입니다." << endl;

cout << "long double형 데이터에 할당되는 메모리의 크기는 " << sizeof(long double) << " 바이트입니다.";

코딩연습 ▶

실행 결과

       char형 데이터에 할당되는 메모리의 크기는  1 바이트입니다.

      short형 데이터에 할당되는 메모리의 크기는  2 바이트입니다.

        int형 데이터에 할당되는 메모리의 크기는  4 바이트입니다.

       long형 데이터에 할당되는 메모리의 크기는  8 바이트입니다.

  long long형 데이터에 할당되는 메모리의 크기는  8 바이트입니다.

      float형 데이터에 할당되는 메모리의 크기는  4 바이트입니다.

     double형 데이터에 할당되는 메모리의 크기는  8 바이트입니다.

long double형 데이터에 할당되는 메모리의 크기는 16 바이트입니다.

 

sizeof 연산자를 통해 현재 여러분이 사용하는 컴퓨터 환경에서의 타입 크기를 알아볼 수 있습니다.

연습문제