C언어 대입 연산자 =
기호는우변을 좌변에 단순 대입합니다. 관계 연산자 ==
기호는 좌변과 우변을 비교해서 참(1)
또는 거짓(0)
의 결과를 반환합니다.
C언어 = vs == 연산자 차이점
x = y
는 우변 y
를 좌변 x
에 대입합니다. x == y
는 x
와 y
를 비교해서 서로 같으면 참(1)
, 서로 다르면 거짓(0)
을 반환합니다.
연산자 | 소속 | 예제 | 의미 |
---|---|---|---|
= |
대입 연산자 | x = y |
좌변 x 에 우변 y 를 단순 대입 |
== |
관계 연산자 | x == y |
좌변 x 와 우변 y 를 비교 후 참/거짓 반환 |
= 대입 연산자 : 단순 대입!
=
기호는 대입 연산자입니다. 대입 연산자는 등호 =
기호를 중심으로 우변을 좌변에 삽입합니다. 따라서 =
연산자는 단순 데이터 삽입에 불과합니다.
#include<stdio.h>
void main() {
int y = 2; //정수형(int) 자료형 조건의 변수 y를 생성하고 변수값으로 2를 삽입했습니다.
int x; //정수형(int) 자료형 조건의 변수 x를 생성하고, 변수값은 지정하지 않았습니다.
x = y; // 대입 연산자 : 우변 y에 들어있는 변수값 2를 좌변 x에 삽입했습니다.
printf("%d", x); //변수 x를 출력해보면 2가 반환됩니다.
}
결과
2
== 관계 연산자 : 1 또는 0만 반환
==
기호는 관계 연산자 입니다. 관계 연산자는 기호를 중심으로 좌변과 우변을 비교한 다음에 답은 오직 true
또는 false
로 두 가지 형태로만 반환됩니다.
#include<stdio.h>
void main() {
int x = 3;
int y = 2;
printf("%d", x == y); // x == y의 의미는 y값을 x값에 삽입하라는 뜻이 아닙니다. x와 y를 비교해서 서로 같으면 참(1), 같지 않으면 거짓(0)을 반환하라는 의미입니다.
}
결과
0
x
와 y
는 서로 같지 않으므로 x == y
는 거짓(0)
을 반환합니다.