C Data Types

Data types specifies a particular kind of data item defined by the values it can take. C provides various kinds of data types. Data types in C can be classified under 3 categories as given below:

  1. Built-in Data Types
  2. User Defined Data Types
  3. Derived Data Types


Built-in Data Types

C supports various built-in data types. They are given below in the table:

Type Storage size Value range
char 1 byte -128 to 127 or 0 to 255
unsigned char 1 byte 0 to 255
signed char 1 byte -128 to 127
int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
short 2 bytes -32,768 to 32,767
unsigned short 2 bytes 0 to 65,535
long 8 bytes -9223372036854775808 to 9223372036854775807
unsigned long 8 bytes 0 to 18446744073709551615
float 4 bytes 1.2E-38 to 3.4E+38
double 8 bytes 2.3E-308 to 1.7E+308
long double 10 bytes 3.4E-4932 to 1.1E+4932

Another built-in data type is void. Two uses of void are to specify the return type of a function when it is not returning any value and to indicate an empty argument list to a function.



User Defined Data Types

There are three types of user defined data types.

Data Types Description
Structure Structure is a package of variables of different types under a single name. It is need to handle data proficiently. struct keyword is used to define a structure.
Union Union is use to store various data types in the same memory location. Programmers can define a union with various members, but only a single member can contain a value at a given time.
Enumerated Enumeration is a special data type that provides a way for attaching names to number. The enum keyword automatically enumerates a list of words by assigning them values 0,1,2 and so on. This facility provides an alternative means for creating symbolic constants.

Derived Data Types

Those data types which are derived from the fundamental data types and acts as a new data type are called derived data types. Function, arrays, and pointers are derived data types in C programming language.