C 데이터 유형
C 언어에서 데이터 유형은 다양한 유형의 변수나 함수를 선언하기 위한 광범위한 시스템을 나타냅니다. 변수 유형에 따라 변수 저장소가 차지하는 공간과 저장된 비트 패턴이 해석되는 방식이 결정됩니다.
C의 유형은 다음 유형으로 나눌 수 있습니다:
일련 번호 | 유형 및 설명 |
---|---|
1 | 기본 유형: 두 가지 유형을 포함하는 산술 유형입니다: 정수 유형 및 부동 소수점 유형. |
2 | 열거 유형: 또한 산술 유형이며 프로그램에서 특정 이산 정수 값만 할당할 수 있는 변수를 정의하는 데 사용됩니다. |
3 | void 유형: 유형 지정자 void는 사용할 수 있는 값이 없음을 나타냅니다. |
4 | 파생 유형: 파생 유형에는 포인터 유형, 배열 유형, 구조 유형, 공용체 유형 및 함수 유형이 포함됩니다. |
배열 유형과 구조 유형을 총칭하여 집계 유형이라고 합니다. 함수 유형은 함수의 반환 값 유형을 나타냅니다. 이 장의 나머지 부분에서는 기본 유형을 소개하고 다음 장에서는 몇 가지 다른 유형에 대해 설명합니다.
정수 유형
다음 표에는 표준 정수 유형의 저장 크기 및 값 범위에 대한 세부 정보가 나열되어 있습니다.
-128~127 또는 0~255부호 없는 문자 | 1바이트 | 0~255 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
부호 있는 문자 | 1바이트 | -128~127 | ||||||||||||||||||||||
int | 2 또는 4바이트 | -32,768 ~ 32,767 또는 -2,147,483,648 ~ 2,147,483,647 | ||||||||||||||||||||||
unsigned int | 2 또는 4바이트 | 0 ~ 65,535 또는 0 ~ 4,294,967,2 95 | ||||||||||||||||||||||
short | 2바이트 | - 32,768 ~ 32,767 | ||||||||||||||||||||||
unsigned short | 2바이트 | 0 ~ 65,535 | ||||||||||||||||||||||
long | 4바이트 | -2,147,483,648 ~ 2,147,483,6 47 | ||||||||||||||||||||||
unsigned long | 4바이트 | 0~4,294,967,295 | ||||||||||||||||||||||
특정 플랫폼에서 특정 유형이나 변수의 정확한 크기를 얻으려면, sizeof 연산자를 사용할 수 있습니다. sizeof(type) 표현식은 객체 또는 유형의 저장 크기를 바이트 단위로 가져옵니다. 다음 예에서는 int 유형의 크기를 가져오는 방법을 보여줍니다. #include <stdio.h>#include <limits.h>int main(){ printf("int 存储大小 : %lu \n", sizeof(int)); return 0;} Linux에서 위 프로그램을 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. int 存储大小 : 4 부동 소수점 유형다음 표에는 표준 부동 소수점에 대한 정보가 나열되어 있습니다. 저장소 크기, 값 범위 및 유형 정밀도에 대한 세부정보:
헤더 파일 float.h는 이러한 값과 프로그램에서 실수의 이진 표현에 대한 기타 세부 정보를 사용할 수 있는 매크로를 정의합니다. 다음 예에서는 부동 소수점 유형이 차지하는 저장 공간과 해당 범위 값을 출력합니다. #include <stdio.h>#include <float.h>int main(){ printf("float 存储最大字节数 : %lu \n", sizeof(float)); printf("float 最小值: %E\n", FLT_MIN ); printf("float 最大值: %E\n", FLT_MAX ); printf("精度值: %d\n", FLT_DIG ); return 0;} 위 프로그램을 Linux에서 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. float 存储最大字节数 : 4 float 最小值: 1.175494E-38float 最大值: 3.402823E+38精度值: 6 void 유형void 유형 지정 사용할 수 있는 값이 없습니다. 일반적으로 다음 세 가지 상황에서 사용됩니다.
지금도 void 유형을 완전히 이해할 수 없다면 너무 걱정하지 마세요. 이러한 개념은 다음 장에서 자세히 설명하겠습니다. |