프로그래밍/C 프로그래밍

C언어의 데이터 타입

에이티에스 2023. 6. 30. 23:42
728x90

데이터 형식은 변수가 특정 작업을 수행하기 위해 저장할 수 있는 데이터 형식을 정의하는 데 사용됩니다.

 
ANSI C는 세 가지 유형의 데이터 형식을 제공합니다.
  1. 기본 데이터 형식
  2. 파생 데이터 형식
  3. 사용자 정의 데이터 형식
 

 

 
기본 데이터 유형:
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