C의 각 변수에는 연관된 데이터 유형이 있습니다. 이는 정수, 문자, 부동, 실수 등과 같이 변수가 저장할 수 있는 데이터 유형을 지정합니다. 각 데이터 유형에는 서로 다른 양의 메모리가 필요하며 이에 대해 수행할 수 있는 특정 작업이 있습니다. 데이터타입(Data Type)은 고정된 값, 의미 및 특성을 갖는 값을 가진 데이터의 집합이다.
C의 데이터 유형은 다음과 같이 분류할 수 있습니다.
| 유형 | 설명 |
|---|---|
| 기본 데이터 유형 | 원시 데이터 유형은 정수, 부동 소수점, 문자 등과 같은 간단한 값을 표현하는 데 사용되는 가장 기본적인 데이터 유형입니다. |
| 사용자 정의 데이터 유형 | 사용자 정의 데이터 유형은 사용자가 직접 정의합니다. |
| 파생 유형 | 기본 또는 내장 데이터 유형에서 파생된 데이터 유형을 파생 데이터 유형이라고 합니다. |

데이터 유형에 따라 숫자를 저장할 수 있는 범위도 다릅니다. 이러한 범위는 컴파일러마다 다를 수 있습니다. 다음은 메모리 요구 사항 및 형식 지정자와 함께 범위 목록입니다. 32비트 GCC 컴파일러 .
| 데이터 형식 | 크기(바이트) | 범위 | 형식 지정자 |
|---|---|---|---|
| 짧은 정수 | 2 | -32,768~32,767 | %hd |
| 부호 없는 짧은 정수 | 2 | 0~65,535 | %hu |
| 부호 없는 정수 | 4 | 0~4,294,967,295 | %안에 |
| 정수 | 4 | -2,147,483,648 ~ 2,147,483,647 | %디 |
| 긴 정수 | 4 | -2,147,483,648 ~ 2,147,483,647 | %ld |
| 부호 없는 긴 정수 | 4 | 0~4,294,967,295 | %lu |
| 긴 긴 정수 | 8 | -(2^63)에서 (2^63)-1 | %lld |
| 부호 없는 긴 긴 정수 | 8 | 0 ~ 18,446,744,073,709,551,615 | %llu |
| 서명된 문자 | 1 | -128~127 | %씨 |
| 서명되지 않은 문자 | 1 | 0~255 | %씨 |
| 뜨다 | 4 | 1.2E-38 ~ 3.4E+38 | %에프 |
| 더블 | 8 | 1.7E-308 ~ 1.7E+308 | %lf |
| 긴 더블 | 16 | 3.4E-4932는 1.1E+4932입니다. | %Lf |
메모: l 옹, 짧은, 서명된 및 서명되지 않은 데이터 유형의 크기나 길이를 변경하기 위해 일부 기본 데이터 유형과 함께 사용할 수 있는 데이터 유형 수정자입니다.
다음은 C의 몇 가지 주요 기본 데이터 유형입니다.
정수 데이터 유형
C의 정수 데이터 유형은 정수(소수 부분 없이 양수, 음수 및 0을 포함하는 모든 숫자)를 저장하는 데 사용됩니다. C에서는 8진수 값, 16진수 값, 10진수 값을 int 데이터 형식으로 저장할 수 있습니다.
- 범위: -2,147,483,648 ~ 2,147,483,647
- 크기: 4 바이트
- 형식 지정자: %디
정수 구문
우리는 사용var_name;
정수 데이터 유형은 다음과 같이 사용될 수도 있습니다.
100.00개 중 15개
- 부호 없는 정수: C의 Unsigned int 데이터 유형은 0부터 양수까지의 데이터 값을 저장하는 데 사용되지만 signed int와 같은 음수 값은 저장할 수 없습니다.
- 짧은 정수: int보다 크기가 2바이트 작으므로 -32,768에서 32,767까지의 값만 저장할 수 있습니다.
- 긴 정수: int 데이터 유형의 더 큰 버전이므로 int보다 큰 값을 저장할 수 있습니다.
- 부호 없는 짧은 정수: unsigned int와 int처럼 short int와의 관계도 유사합니다.
메모: 정수 데이터 유형의 크기는 컴파일러에 따라 다릅니다. 우리는 사용할 수 있습니다 크기 연산자 모든 데이터 유형의 실제 크기를 확인합니다.
정수의 예
씨
// C program to print Integer data types.> #include> int> main()> {> >// Integer value with positive data.> >int> a = 9;> >// integer value with negative data.> >int> b = -9;> >// U or u is Used for Unsigned int in C.> >int> c = 89U;> >// L or l is used for long int in C.> >long> int> d = 99998L;> >printf>(>'Integer value with positive data: %d
'>, a);> >printf>(>'Integer value with negative data: %d
'>, b);> >printf>(>'Integer value with an unsigned int data: %u
'>,> >c);> >printf>(>'Integer value with an long int data: %ld'>, d);> >return> 0;> }> |
>
>산출
Integer value with positive data: 9 Integer value with negative data: -9 Integer value with an unsigned int data: 89 Integer value with an long int data: 99998>
문자 데이터 유형
문자 데이터 유형을 사용하면 변수에 단일 문자만 저장할 수 있습니다. 문자의 크기는 1바이트입니다. C에서 가장 기본적인 데이터 유형입니다. 단일 문자를 저장하며 거의 모든 컴파일러에서 단일 바이트의 메모리가 필요합니다.
- 범위: (-128 ~ 127) 또는 (0 ~ 255)
- 크기: 1바이트
- 형식 지정자: %씨
char의 구문
그만큼 char 키워드 문자 유형의 변수를 선언하는 데 사용됩니다.
char var_name;>
문자의 예
씨
java 배열을 반환하는 방법
// C program to print Integer data types.> #include> int> main()> {> >char> a =>'a'>;> >char> c;> >printf>(>'Value of a: %c
'>, a);> >a++;> >printf>(>'Value of a after increment is: %c
'>, a);> >// c is assigned ASCII values> >// which corresponds to the> >// character 'c'> >// a-->97b-->98c-->99> >// here c will be printed> >c = 99;> >printf>(>'Value of c: %c'>, c);> >return> 0;> }> |
>
>산출
Value of a: a Value of a after increment is: b Value of c: c>
부동 데이터 유형
C 프로그래밍에서는 부동 소수점 데이터 유형 부동 소수점 값을 저장하는 데 사용됩니다. C의 Float는 소수 및 지수 값을 저장하는 데 사용됩니다. 단정밀도로 소수(부동 소수점 값을 갖는 숫자)를 저장하는 데 사용됩니다.
- 범위: 1.2E-38 ~ 3.4E+38
- 크기: 4 바이트
- 형식 지정자: %에프
플로트 구문
그만큼 부동 키워드 변수를 부동 소수점으로 선언하는 데 사용됩니다.
float var_name;>
플로트의 예
씨
관계이다
// C Program to demonstrate use> // of Floating types> #include> int> main()> {> >float> a = 9.0f;> >float> b = 2.5f;> >// 2x10^-4> >float> c = 2E-4f;> >printf>(>'%f
'>, a);> >printf>(>'%f
'>, b);> >printf>(>'%f'>, c);> >return> 0;> }> |
>
>산출
9.000000 2.500000 0.000200>
이중 데이터 유형
ㅏ 이중 데이터 유형 C에서는 10진수(부동 소수점 값이 있는 숫자)를 이중 정밀도로 저장하는 데 사용됩니다. C에서 소수 값이 있는 숫자를 보유하는 숫자 값을 정의하는 데 사용됩니다.
double 데이터 유형은 기본적으로 64비트의 10진수 또는 부동 소수점을 보유할 수 있는 정밀한 데이터 유형입니다. double은 float에 비해 정밀도가 더 높기 때문에 부동 소수점 유형이 차지하는 메모리의 두 배를 차지한다는 것이 훨씬 더 분명합니다. 소수점 이하 16~17자리 정도를 쉽게 수용할 수 있습니다.
- 범위: 1.7E-308 ~ 1.7E+308
- 크기: 8바이트
- 형식 지정자: %lf
Double의 구문
변수는 다음을 사용하여 배정밀도 부동 소수점으로 선언될 수 있습니다. 이중 키워드:
double var_name;>
더블의 예
씨
// C Program to demonstrate> // use of double data type> #include> int> main()> {> >double> a = 123123123.00;> >double> b = 12.293123;> >double> c = 2312312312.123123;> >printf>(>'%lf
'>, a);> >printf>(>'%lf
'>, b);> >printf>(>'%lf'>, c);> >return> 0;> }> |
>
문자열 Java에서 모두 교체
>산출
123123123.000000 12.293123 2312312312.123123>
무효 데이터 유형
C의 void 데이터 유형은 값이 없음을 지정하는 데 사용됩니다. 호출자에게 결과 값을 제공하지 않습니다. 값도 없고 연산도 없습니다. 아무것도 나타내지 않는 데 사용됩니다. Void는 함수 반환 유형으로, 함수 인수로 void로, 여러 가지 방식으로 사용됩니다. 무효에 대한 포인터 .
통사론:
// function return type void void exit(int check); // Function without any parameter can accept void. int print( void ); // memory allocation function which // returns a pointer to void. void *malloc (size_t size);>
무효의 예
씨
// C program to demonstrate> // use of void pointers> #include> int> main()> {> >int> val = 30;> >void>* ptr = &val;> >printf>(>'%d'>, *(>int>*)ptr);> >return> 0;> }> |
>
>산출
30>
C의 데이터 유형 크기
C의 데이터 유형 크기는 아키텍처 크기에 따라 달라지므로 데이터 유형의 보편적인 크기를 정의할 수 없습니다. 이를 위해 C 언어에서는 데이터 유형의 크기를 확인하는 sizeof() 연산자를 제공합니다.
예
씨
피보나치 코드 자바
// C Program to print size of> // different data type in C> #include> int> main()> {> >int> size_of_int =>sizeof>(>int>);> >int> size_of_char =>sizeof>(>char>);> >int> size_of_float =>sizeof>(>float>);> >int> size_of_double =>sizeof>(>double>);> >printf>(>'The size of int data type : %d
'>, size_of_int);> >printf>(>'The size of char data type : %d
'>,> >size_of_char);> >printf>(>'The size of float data type : %d
'>,> >size_of_float);> >printf>(>'The size of double data type : %d'>,> >size_of_double);> >return> 0;> }> |
>
>산출
The size of int data type : 4 The size of char data type : 1 The size of float data type : 4 The size of double data type : 8>
C의 데이터 유형에 대한 지식을 확인하려면 데이터 유형에 대한 퀴즈 .