C Operator, C++ Operator   C 연산자, C++ 연산자

(2019-02-26)

연산자

1. C 언어에서, 연산자 종류산술 연산자       :  +  -  *  /  %
     -  + (덧셈), - (뺄셈), * (곱셈), / (나눗셈), % (나머지)

  ㅇ 부호 연산자       :  +  -

  ㅇ 대입 연산자       :  =  +=  -=  *=  /=  %=
     -  `=`  : (오른쪽 값을 평가 연산하고, 그 결과를 왼쪽에 대입)
     -  `+=` : 例) a += b => a = a + b
     -  `-=` : 例) a -= b => a = a - b 
     -  `*=` : 例) a *= b => a = a * b
     -  `/=` : 例) a /= b => a = a / b
     -  `%=` : 例) a %= b => a = a % b

  ㅇ 비교 연산자 (6개) :  ==  !=  <=  <  >=  >
     - C 언어는, 논리값 상수(true,false)을 제공 안하므로, 1(true),0(false)을 사용

  ㅇ 증감 연산자       :  ++  --
     - 例) a++ (주변 연산을 진행한 후 1 증가), ++a (1 증가시킨 후 주변 연산을 진행)

  ㅇ 논리 연산자       :  ||  &&  !

  ㅇ 비트 연산자       :  |  &  ~  >>  <<  ^
     -  | (비트 OR), & (비트 AND), ~ (비트 반전 NOT), ^ (비트 XOR),
        << (왼쪽 시프트), >> (오른쪽 시프트)

  ㅇ 포인터 연산자     :  *  &  []
     - &op : 변수 op가 위치한 메모리의 주소를 구함
     - *op : 포인터 변수 op가 갖는 주소에 저장된 값을 구함

  ㅇ 구조체(Structure) 연산자     :  .  ->

  ㅇ 삼항 조건 연산자  :  ?:
  ㅇ 쉼표 연산자       :  ,
  ㅇ sizeof 연산자     :  sizeof
  ㅇ 캐스트 연산자     : (타입) 표현식
  ㅇ 괄호 연산자       :  ()

  ㅇ C++ 연산자        :  new  delete  ::  .*  ->*


2. 연산자 우선순위(precedence) 및 결합법칙

  ㅇ 최우선 => [결합방향 : 좌에서 우로 →]
     - (괄호 연산자) (식)                                          
  ㅇ 순위 1 => [결합방향 : 좌에서 우로 →]
     - (후위 증감 단항 연산자) ++  -- , (함수 호출) (), (배열 인덱스) [] ,
       (구조체 멤버) . , (구조체 포인터) -> , (복합 리터럴) (type){list}
  ㅇ 순위 2 => [결합방향 : 우에서 좌로 ←]
     - (전위 증감 단항 연산자) ++  -- , (부호) +  - , (논리 연산자) !  ~ , (형변환) (type) ,
       (간접 참조 연산자) * , (주소 추출 연산자) & , (크기 계산 연산자) sizeof 
  ㅇ 순위 3 => [결합방향 : 좌에서 우로 →] 
     - (산술 연산자) *  /  %
  ㅇ 순위 4 => [결합방향 : 좌에서 우로 →] 
     - (산술 연산자) +  - 
  ㅇ 순위 5 => [결합방향 : 좌에서 우로 →] 
     - (비트 연산자) <<  >> 
  ㅇ 순위 6 => [결합방향 : 좌에서 우로 →] 
     - (비교 연산자) <  <=  > >=
  ㅇ 순위 7 => [결합방향 : 좌에서 우로 →]
     - (비교 연산자) ==  !=
  ㅇ 순위 8 => [결합방향 : 좌에서 우로 →]
     - (비트 연산자 AND) &
  ㅇ 순위 9 => [결합방향 : 좌에서 우로 →]
     - (비트 연산자 XOR) ^
  ㅇ 순위 10 => [결합방향 : 좌에서 우로 →]
     - (비트 연산자 OR) |
  ㅇ 순위 11 => [결합방향 : 좌에서 우로 →]
     - (논리 연산자 AND) &&
  ㅇ 순위 12 => [결합방향 : 좌에서 우로 →]
     - (논리 연산자 OR) ||
  ㅇ 순위 13 => [결합방향 : 우에서 좌로 ←]
     - (삼항 연산자) ? :
  ㅇ 순위 14 => [결합방향 : 우에서 좌로 ←]
     - (대입 연산자) = ,  (산술 대입 연산자) +=  -+  *=  /=  %= ,
       (복합 대입 연산자) <<=  >>=  &=  ^=  |=
  ㅇ 순위 15 => [결합방향 : 좌에서 우로 →]
     - (콤마 연산자) ,


[C] 1. C 언어 2. C 기초 문법 3. C 연산자
[C 언어 컴파일] [C 변수,상수,자료형] [C 함수] [포인터]

 
        최근수정     요약목록     참고문헌