본문 바로가기
language/C

연산자

by abstract.jiin 2022. 9. 5.
  1. sizeof()
  2. 변수의 주소 사용
  3. 대입연산자
  4. 산술연산자
  5. 복합대입연산자
  6. 관계비교연산자

 

1. sizeof()


메모리에 할당 된 데이터 공간의 크기를 계산해주는 함수 
결과는 byte 단위로 반환 

 

int a = 5;
double b = 2.0;
printf("5/2.0 =%.1f\n", a / b);
printf("a:%d\nb:%d\na/b:%d\n", sizeof(a), sizeof(b), sizeof(a / b));

/* 결과
* 5/2.0 = 2.5
* a:4
* b:8
* a/b:8
	a는 int형이기 때문에 4byte, b는 실수형이기 때문에 8byte
*/

2. 변수의 주소 사용

변수명 앞에 & 기호를 붙이면 해당 변수의 메모리 주소(위치)를 사용

주소값을 출력할 때는 %p 서식 문자 사용

 

int a = 10;
printf("a:%d\n", a);
printf("a 주소:%p\n", &a);

/* 결과 */

a:10
a 주소:000000000062FE1C

 

 

3. 대입 연산자 

=   -> 기호 오른쪽 내용을 왼쪽에 대입


4. 산술 연산자

: 덧셈 
- : 뺄셈
* : 곱셈
* / : 나눗셈
* % : 나머지 값 -> 왼쪽을 오른쪽으로 나누어 나오는 나머지 값

% 기호 출력하려면 %%



5. 복합 대입 연산자 

산술 연산자 + 대입 연산자 
변수에 특정 데이터를 연산해서 결과를 다시 변수에 넣을 때 사용 
연산자 왼쪽에는 항상 변수가 있어야 함 

int c, d;
c = d = 5; //여러 변수에 동일한 데이터를 입력할 때 사용
printf("c +=1 : %d\n", c += 1);  //6  (c=c+1)
printf("c -=1 : %d\n", c -= 1);  //5  (c=c-1)
printf("c *=d : %d\n", c *= d);  //25 (c=c*d)
printf("c /=d : %d\n", c /= d);  //5  (c=c/d)
printf("c %%=d : %d\n", c %= d);  //0 (c=c%d)

//1 += c; //error code - 복합 대입 연산자 왼쪽에는 상수값 사용 X

 

6. 관계(비교) 연산자 


데이터를 비교하는 연산자 
연산 결과가 맞으면 1, 틀리면 0으로 표현 
(0:거짓, 0이외의 값 : 참)

왼쪽보다 오른쪽이~

>
<=
>=
==
!=

'language > C' 카테고리의 다른 글

입력함수  (0) 2022.09.05
연산자 II  (0) 2022.09.05
형변환  (0) 2022.09.04
자료형  (0) 2022.09.04
서식문자  (0) 2022.09.04