표현식 트리(Expression Tree)
자료 구조에서 배울 수 있다.
0.55 스샷
넘어가겠슴다.
연산자 우선순위
연산자 결합법칙
() | 왼쪽에서 오른쪽 |
+-(단항unary) | 오른쪽에서 왼쪽 |
*/ | 왼쪽에서 오른쪽 |
+-(이항binary) | 왼쪽에서 오른쪽 |
= | 오른쪽에서 왼쪽 |
- 단항(unary)연산자는 부호를 표현해주는 연산자인데,
- 예를 들어 -3은 3이 먼저 들어가고 그 숫자 앞에 마이너스가 붙는 방식
- = (대입 연산자)도 오른쪽에서 왼쪽이다.
● 일반 수학의 괄호()와 컴퓨터에서의 괄호()는 다르다.
괄호 연산자 (Parenthesis Operator)
1. 함수 호출에 쓰임
int result = sum(3, 5);
2. 우선 순위 제어
int x = (3 + 5) * 2;
3. 형변환에 사용 <-- 캐스팅(casting) 강의에서 배운다.
float f = (float)3 / 2;
기본 표현식 (Primary Expression)
변수, 상수, 문자열, 리터럴, 괄호로 묶인 표현식 사용
괄호로 묶인 표현식
int x = (3 + 5);
‘(3 + 5)’은 primary expression
즉, primary expression 안에 ()가 포함되고, 연산자로 쓰인 것과는 다르다고는 한다.
결과값에 영향을 안 주는 것을 기본 표현식이라고 하는 듯?
C표준 문서
A parenthe sized expression is a primary expression. Its type and value are idenical to those of the unparethesized expression. It is an lvalue, a function designator, or a void expression if the unparenthesized expression is, respecively an lvalue, a function designator, or a void expression.
괄호로 감싼 표현식은 기본 표현식(primary expression)입니다. 괄호로 감싼 표현식의 타입과 값은 괄호가 없는 표현식과 동일합니다. 괄호로 감싼 표현식이 괄호 없이 표현했을 때 lvalue, 함수 지정자, 또는 void 표현식이라면, 괄호로 감싼 표현식 역시 동일한 성질(lvalue, 함수 지정자, void 표현식)을 가집니다.
사실 잘 이해를 못하겠다.
그니까
(x) = 20; 은 괄호가 없어도 x = 20; 이니까 다르다는 건가?..
출처: 홍정모의 따라배우는 C언어
강의 외의 추가된 것들은 책 그리고 인터넷 조사해서 얻었음
'배운 것들 메모 > 따라 배우는 C언어' 카테고리의 다른 글
[홍정모의 따라하며 배우는 C언어] 5.8 증가(++), 감소(—) 연산자 (0) | 2024.09.09 |
---|---|
[홍정모의 따라하며 배우는 C언어] 5.7 나머지 연산자(Modulues Operator) (0) | 2024.09.03 |
[홍정모의 따라하며 배우는 C언어] 5.3 더하기, 빼기, 부호 연산자들 (0) | 2024.09.02 |
[홍정모의 따라하며 배우는 C언어] 5.2 대입 연산자와 몇 가지 용어들 (0) | 2024.08.28 |
[홍정모의 따라하며 배우는 C언어] 5.1 반복 루프(loop)와의 첫 만남 (0) | 2024.08.26 |