Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 단항 연산자

<시간/>

여기에서 우리는 C/C++에서 단항 연산자가 무엇인지 볼 것입니다. 단항 연산자는 단일 피연산자에 대해 작동하여 새 값을 생성하는 연산자입니다. 단항 연산자는 다음과 같습니다.

연산자 설명
간접 연산자(*)
포인터 변수에 대해 작동하고 포인터 주소의 값과 동일한 l-값을 반환합니다. 이것을 포인터 "역참조"라고 합니다.
주소 연산자(&)
단항 주소 연산자(&)는 피연산자의 주소를 사용합니다. 주소 연산자의 피연산자는 함수 지정자이거나 비트 필드가 아니고 레지스터 저장 클래스 지정자로 선언되지 않은 개체를 지정하는 l-값일 수 있습니다.
단항 더하기 연산자(+)
단항 더하기 연산자(+)의 결과는 피연산자의 값입니다. 단항 더하기 연산자에 대한 피연산자는 산술 유형이어야 합니다.
단항 부정 연산자(-)
-(단항 빼기) 연산자는 피연산자의 값을 무효화합니다. 피연산자는 모든 산술 유형을 가질 수 있습니다. 결과는 lvalue가 아닙니다.
논리 부정 연산자(!)
논리 부정 연산자(!)는 피연산자의 의미를 반대로 합니다. 피연산자는 산술 또는 포인터 유형(또는 산술 또는 포인터 유형으로 평가되는 표현식)이어야 합니다. 피연산자는 암시적으로 bool 형식으로 변환됩니다.
1의 보수 연산자(~)
"비트 보수" 또는 "비트 NOT" 연산자라고도 하는 1의 보수 연산자는 피연산자의 비트 1의 보수를 생성합니다. 피연산자는 정수 유형이어야 합니다.
접두사 증가 연산자(++)
접두사 증가 연산자( ++ )는 피연산자에 1을 추가합니다. 이 증가된 값은 표현식의 결과입니다. 피연산자는 const 유형이 아닌 l-값이어야 합니다. 결과는 피연산자와 동일한 유형의 l-값입니다.
접두사 감소 연산자(--)
접두사 감소 연산자( -- )는 피연산자에서 1을 뺍니다. 이 감소된 값은 표현식의 결과입니다. 피연산자는 const 유형이 아닌 l-값이어야 합니다. 결과는 피연산자와 동일한 유형의 l-값입니다.
캐스트 연산자()
유형 캐스트는 특정 상황에서 객체 유형을 명시적으로 변환하는 방법을 제공합니다. 컴파일러는 typecast가 만들어진 후 cast-expression을 type-name 유형으로 처리합니다.
sizeof 연산자
피연산자의 크기를 계산하는 데 사용할 수 있는 컴파일 시간 단항 연산자입니다.
새 연산자
메모리를 동적으로 할당하는 데 사용되는 메모리 할당 연산자입니다.
삭제 연산자
동적으로 할당된 메모리를 해제할 때 사용하는 메모리 할당 연산자입니다.

이러한 연산자에는 오른쪽에서 왼쪽으로의 연관성이 있습니다. 단항 표현식은 일반적으로 접미사 또는 기본 표현식 앞에 오는 구문을 포함합니다.

-(빼기) 및 casting() 단항 연산자의 예를 살펴보겠습니다.

예시

#include<iostream>
using namespace std;
int main() {
   int x;
   float y = 1.23;
   x = (int) y;
   x = -x;
   cout << x;
   return 0;
}

출력

-1