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의 데이터 유형에 대한 지식을 확인하려면 데이터 유형에 대한 퀴즈 .