이 장에서는 C언어 프로그램이에서 char, int, float, double 등과 같은 기본 데이터 유형에 대해 작성한다.
C언어 프로그래밍에서 데이터 유형은 변수에 대한 선언이다.
데이터유형은 변수와 관련된 크기를 결정한다.
ex) int myVAR;
*위 예제에서 int myVAR는 정수(int) 유형의 변수이고 크기는 4 Byte이다.
1. 기본유형
- 다음은 빠른 액세스를 위해 C언어 프로그래밍에서 일반적으로 사용되는 유형을 포함하는 표이다
유형 | 크기(Byte) | 형식 지정자 |
int | 2, 4 | %d, %i |
char | 1 | %c |
float | 4 | %f |
double | 8 | %lf |
short int | 2 | %hd |
unsigned int | 2, 4 | %u |
long int | 4, 8 | %ld, %li |
long long int | 8 | %lld, %lli |
unsigned long int | 4 | %lu |
unsigned long long int | 8 | %llu |
signed char | 1 | %c |
unsigned char | 1 | %c |
long double | 10, 12, 16 | %Lf |
* 대부분 char, int, double, unsigned int, unsinged double이 많이 쓰임
2. int
- 정수는 양수 및 음수 값을 모두 가질 수 있지만 십진수는 음수 또는 10이 없는 정수이다.
ex) -5, 10 값이 없음
ex) int id;
* id는 int 유형의 변수이다
- C언어 프로그래밍에서는 한번에 여러 변수를 선언할 수 있음
ex) int id, age;
* int 유형은 일반적으로 4Byte(32Bit)이다
* 32비트이므로 2의 -32승(-2147483648) ~ 2의 32승(2147483647)
3. float / double
- float / double은 실수를 유지하는데 사용
ex) float salary;
double price;
- C언어 프로그래밍 부동 소수점 숫자는 지수로 나타낼 수도 있음
ex) float normalizationFactor = 24.442e2;
* float의 데이터 크기는 4 Byte
* bouble의 데이터 크기는 8 Byte
4. char
- char는 문자 유형의 변수를 선언하는데 사용
ex) char test = 'h';
* 문자 변수의 크기는 1 Byte이다
* C언어에서 한글은 2 Byte이므로 표시 불가
5. void
- void는 불완전한 유형(무 또는 유형 없음을 의미)
- void는 부재로 생각할 수 있음
ex) 함수가 아무것도 반환하지 않는 경우 반환 유형은 void이어야 함
* void 유형의 변수는 생성할 수 없습니다
6. short / long
- long은 많은 수를 사용해야 하는 경우 유형지정자를 사용할 수 있음
ex) long a;
long long b;
long long doulbe c;
* 변수 a, 변수 b에 정수 값을 저장 가능하고 c는 부동 소수점 숫자를 저장할 수 있다
- short은 범위가 작은 정수만 사용 가능( 2 Byte(16 bit = 2의 16승) => -32767 ~ +32767)
ex) short d;
* sizeof() 연산자를 사용하여 항상 변수의 크기를 확인할 수 있다
ex) #include <stdio.h>
int main() {
short a;
long b;
long long c;
long double d;
printf("size of short = %d Bytes\n", sizeof(a));
printf("size of long = %d Bytes\n", sizeof(b));
printf("size of long long = %d Bytes\n", sizeof(c));
printf("size of long double = %d Bytes\n", sizeof(d));
return 0;
}
7. signed / unsigned
- C언어 프로그래밍에서 signed와 unsigned 유형은 수정임
- 데이터 유형을 사용하여 데이터 유형의 데이터 저장소를 변경할 수 있음
ex) unsigned int x;
int y;
* 여기서 변수 x unsigned 수정자를 사용했기 때문에 0과 양수 값만 보유할 수 있다
* int 유형은 4 Byte 데이터 크기를 가지고 있다
* 변수 x 의 데이터 크기는 unsigned 수정자는 0 ~ 양수값만 가지고 있기 때문에 0 ~ 2의 32승 -1값만 가진다
* 변수 y는 -2의 31승 부터 +2의 31승까지 값을 가진다
* C언어 프로그래밍에서 정의된 다른 데이터 유형은 다음과 같다
- bool 타입
- 열거 타입
- 복합 타입
8. 파생데이터 유형(Derived Data 타입)
- 기본 데이터 형식에서 파생된 데이터 형식은 파생 형식이다
ex) 배열, 포인터, 함수 유형, 구조 등
'Program > C' 카테고리의 다른 글
6. C언어 프로그래밍 연산자 (0) | 2021.10.12 |
---|---|
5. C언어 입력 출력(I/O) (0) | 2021.10.11 |
3. c언어 변수, 상수 및 리터럴 (0) | 2021.10.11 |
2. C언어 키워드 및 식별자 (0) | 2021.10.06 |
1. C언어 소개 (0) | 2021.10.06 |
댓글