728x90
데이터 형식은 변수가 특정 작업을 수행하기 위해 저장할 수 있는 데이터 형식을 정의하는 데 사용됩니다.
ANSI C는 세 가지 유형의 데이터 형식을 제공합니다.
- 기본 데이터 형식
- 파생 데이터 형식
- 사용자 정의 데이터 형식
기본 데이터 유형:
기본 데이터 형식은 최대값을 보유하는 데 사용됩니다. 모든 C 컴파일러는 5가지 기본 데이터 형식을 지원합니다.
Void | 값을 보유하지 않으며 일반적으로 기능과 함께 사용됩니다. |
INT | 정수 유형을 나타내는 데 사용됩니다. |
Char | 문자 유형을 나타내는 데 사용됩니다. |
float, double | 부동 소수점 유형을 나타내는 데 사용됩니다. |
int *, float *, char * | 포인터 유형을 나타내는 데 사용됩니다. |
기본 데이터 형식은 최대값을 보유하는 데 사용됩니다. 모든 C 컴파일러는 5가지 기본 데이터 형식을 지원합니다.
예: 파생 데이터 유형: 파생 데이터 유형은 기본 데이터 유형에서 파생됩니다. 파생 데이터 유형의 변수를 사용하면 동일한 시간의 값을 하나의 변수에 저장할 수 있습니다.
C는 세 가지 파생 데이터 유형을 지원합니다.
int a=90; // valid
a=90; // invalid
배열 | 배열은 동종 값과 값을 저장할 인접 메모리 위치가 있는 데이터 항목의 시퀀스입니다. |
참조 | 함수 포인터를 사용하면 특정 시그니처가 있는 함수를 참조할 수 있습니다. |
포인터 | 메모리에 액세스하고 주소를 처리하는 데 사용됩니다. |
예: 사용자 정의 데이터 유형: 사용자 정의 데이터 유형은 여러 값을 저장하는 데 사용됩니다. 아래 표에는 다양한 사용자 정의 데이터 유형이 나와 있습니다.
int mark[5]={10, 20, 30, 40};
int *a;
데이터 유형 | 묘사 |
구조 | 구조체는 단일 이름 아래의 변수 패키지입니다. "struct" 키워드는 구조를 정의하는 데 사용됩니다. |
합집합 | 동일한 메모리 위치에 다양한 데이터 유형을 저장하는 데 사용됩니다. |
열거형 | 정수 상수로 구성되며 각 상수에는 특정 이름이 할당됩니다. "enum" 키워드로 정의됩니다. |
예: 크기가 있는 C 데이터 형식
struct student
{
int id;
char name[10];
float mob;
};
데이터 유형의 메모리 크기를 찾는 예를 살펴보겠습니다.
#include
int main()
{
int a;
char b;
float c;
double d;
printf("Storage size for int data type:%d \n",sizeof(a));
printf("Storage size for char data type:%d \n",sizeof(b));
printf("Storage size for float data type:%d \n",sizeof(c));
printf("Storage size for double data type:%d\n",sizeof(d));
return 0;
}
Data Types | Memory Size | Range |
char | 1 byte | ?128 to 127 |
signed char | 1 byte | ?128 to 127 |
unsigned char | 1 byte | 0 to 255 |
short | 2 byte | ?32,768 to 32,767 |
signed short | 2 byte | ?32,768 to 32,767 |
unsigned short | 2 byte | 0 to 65,535 |
int | 2 byte | ?32,768 to 32,767 |
signed int | 2 byte | ?32,768 to 32,767 |
unsigned int | 2 byte | 0 to 65,535 |
short int | 2 byte | ?32,768 to 32,767 |
signed short int | 2 byte | ?32,768 to 32,767 |
unsigned short int | 2 byte | 0 to 65,535 |
long int | 4 byte | -2,147,483,648 to 2,147,483,647 |
signed long int | 4 byte | -2,147,483,648 to 2,147,483,647 |
unsigned long int | 4 byte | 0 to 4,294,967,295 |
float | 4 byte | 1E–37 to 1E+37 with six digits of precision |
double | 8 byte | 1E–37 to 1E+37 with ten digits of precision |
long double | 10 byte | 1E–37 to 1E+37 with ten digits of precision |
728x90
반응형
그리드형
'프로그래밍 > C 프로그래밍' 카테고리의 다른 글
C언어의 문자열 (0) | 2023.07.01 |
---|---|
C언어의 파일 처리 (0) | 2023.06.30 |
C언어의 배열 (0) | 2023.06.30 |
C 프로그래밍의 포인터 (0) | 2023.06.30 |
C와 Java의 차이점 (0) | 2023.06.30 |