안녕하세요? 허니입니다. 오늘은 C 언어에서 사용하는 상수와 기본 자료형에 대해 포스팅 하려고 합니다. 학생이나 연구원분들에게 많은 도움이 될 것이라고 생각하며 언제든지 질문은 환영입니다.
C 언어란?
상수와 기본 자료형
4.1. C 언어가 제공하는 기본 자료형
• 자료형(data type)
"선언할 변수의 특징을 나타내기 위한 키워드"
• 기본 자료형
기본적으로 제공이 되는 자료형
• 사용자 정의 자료형
사용자가 정의하는 자료형 : 구조체, 공용체
• 기본 자료형 종류와 데이터의 표현 범위
• 다양한 자료형이 제공되는 이유
데이터의 표현 방식이 다르기 때문
– 정수형 데이터를 표현하는 방식
– 실수형 데이터를 표현하는 방식
메모리 공간을 적절히 사용하기 위해서
– 데이터의 표현 범위를 고려해서 자료형 선택
– 작은 메모리 공간에 큰 데이터를 저장하는 경우 데이터 손실이 발생할 수 있음
• sizeof 연산자
피연산자의 메모리 크기를 반환
피연산자로 자료형의 이름이 올 경우 괄호를 사용
그 이외의 경우 괄호의 사용은 선택적
• 자료형 선택의 기준
정수형 데이터를 처리하는 경우
– 컴퓨터는 내부적으로 int형 연산을 가장 빠르게 처리, 따라서 정수형 변수는 int형으로 선언
– 범위가 int형 변수를 넘어가는 경우 long형으로 선언
– 값의 범위가 –128 ~ +127 사이라 할지라도 int형으로 선언
• 자료형 선택의 기준
실수형 데이터를 처리하는 경우
– 선택의 지표는 정밀도
– 정밀도란 오차 없이 표현 가능한 정도를 의미함
– 오늘날의 일반적 선택은 double!
• unsigned가 붙어서 달라지는 표현의 범위
MSB까지도 데이터의 크기를 표현하는데 사용
양의 정수로 인식
실수형 자료형에는 붙일 수 없다.
• 문자 표현을 위한 ASCII 코드의 등장
미국 표준 협회(ANSI)에 의해 정의
컴퓨터를 통해서 문자를 표현하기 위한 표준
– 컴퓨터는 문자를 표현하지 못함
문자와 숫자의 연결 관계를 정의
– 문자 A는 숫자 65, 문자 B는 숫자 66…
• ASCII 코드의 범위
0이상 127이하, char형 변수로 처리 가능
char형으로 처리하는 것이 합리적
• 문자의 표현
따옴표(' ')를 이용해서 표현
4.2. 상수에 대한 이해
• 리터럴(literal) 상수
이름을 지니지 않는 상수
• 리터럴 상수의 기본 자료형
상수도 메모리 공간에 저장되기 위해서 자료형이 결정된다.
• 리터럴 상수의 기본 자료형
• 접미사에 따른 다양한 상수의 표현
• 심볼릭(symbolic) 상수
이름을 지니는 상수
• 심볼릭 상수를 정의하는 방법
const 키워드를 통한 변수의 상수화
매크로를 이용한 상수의 정의
• const 키워드에 의한 상수화
• 잘못된 상수 선언
4.3. 자료형 변환
• 자료형 변환의 두 가지 형태
자동 형 변환
– 자동적으로 발생하는 형태의 변환을 의미한다.
– 묵시적 형 변환이라고도 표현한다.
강제 형 변환
– 프로그래머가 명시적으로 형 변환을 요청하는 형태의 변환
– 명시적 형 변환이라고도 표현한다.
• 자동 형 변환이 발생하는 상황 1
대입 연산 시
• 자동 형 변환이 발생하는 상황 2
정수의 승격에 의해(int형 연산이 빠른 이유)
정수형 연산 자체를 단일화시킨 결과
• 자동 형 변환이 발생하는 상황 3
산술 연산 과정에 의해
• 산술 연산 형 변환 규칙
데이터의 손실이 최소화되는 방향으로...
• 강제 형 변환
프로그래머의 요청에 의한 형 변환
'Past Material' 카테고리의 다른 글
C 언어 반복문(for, while, do~while) (0) | 2019.05.15 |
---|---|
C 언어 printf() & scanf() 함수 (0) | 2019.05.15 |
C 언어 데이터 표현 방식 (0) | 2019.05.14 |
C언어 변수와 연산자 (0) | 2019.05.14 |
C 언어 개요와 프로그램 기본 구성 (0) | 2019.05.14 |