본문 바로가기
공부/c언어

05

by suyeon27 2023. 3. 17.
출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010.
  • 몰랐던 or 까먹었던 내용 위주 정리

 

"자료형은 데이터를 표현하는 방법"
자료형 별 크기를 정확히 제한하고 있지 않다. (컴파일러마다 차이를 보임)

컴퓨터는 정수와 실수를 표현하는 방식이 다르기 때문에
최소 둘 이상의 자료형이 필요하다.
sizeof연산자를 사용하면 자료형의 크기를 확인할 수 있다.

보편적으로 사용하는 자료형
- int(형변환 때문)
- double(출력%f, 입력%lf)

unsigned를 붙이면 0과 양의 정수만 표현할 수 있다.

표현할 수 있는 값이 0 이상의 범위로 2배가 된다.
정수 자료형의 이름 앞에만 붙일 수 있다.
MSB도 데이터의 크기를 표현하는 데 사용된다.

int와 signed int는 같은 선언이다.
char는 예외일 수 있다.

(unsigned char로 처리하는 컴파일러도 존재)

 

 

아스키코드
: 컴퓨터는 문자를 숫자로 표현
프로그램상에서의 문자표현에는 작은따옴표가 사용된다.

컴파일러도 아스키코드를 알고 있어서 우리가 문자를 표현하면
컴퓨터가 인식할 수 있도록 숫자로 바꾼다.

정수는 출력의 방법(서식 문자)에 따라서 문자, 숫자 형태로 출력할 수 있다.

 

 

상수
: 변경이 불가능한 데이터

리터럴 상수
: 이름이 없는 상수
자료형은 상수를 위해서도 존재한다.
다양한 자료형의 상수를 표현할 수 있도록 접미사를 정의하고 있다.

심볼릭 상수
: const 상수
일단 초기화되면 그 값을 변경시킬 수 없다.
선언과 초기화를 분리시킬 수 없다.

상수의 이름은 대문자로 표시, 둘 이상의 단어로 연결할 땐 언더바를 사용하는 것이 좋다.

 

 

자료형의 변환
: 데이터의 표현방식을 바꾸는 것

자동형 변환
1. 대입연산 전달과정에서 발생
저장소의 자료형에 맞춰서 형 변환이 일어나야 값의 저장이 가능
실수형 데이터를 정수형 데이터로 변환하는 과정에서는 '소수부의 손실'이 발생
바이트 크기가 큰 정수를 바이트 크기가 작은 정수로 형 변환하는 경우
'상위 바이트의 손실'이 발생하며, 이로 인해 부호가 바뀔 수도 있다.

2. 정수의 승격
int보다 작은 크기의 정수형 데이터는 int형 데이터로 

형 변환이 되어서 연산이 진행된다.

3. 피연산자의 자료형 불일치로 발생
피연산자의 자료형이 일치하지 않아서 발생하는 자동형 변환은

데이터의 손실을 최소화하는 방향으로 진행된다.

형 변환의 우선순위는 정수 자료형보다 실수 자료형이 무조건 앞서는 형태

강제형 변환
연산결과의 자료형은 피연산자의 자료형과 일치 

'공부 > c언어' 카테고리의 다른 글

07  (0) 2023.03.31
06  (0) 2023.03.24
04  (0) 2023.03.10
03  (0) 2023.03.03
02  (0) 2023.02.24

댓글