Data Types
A C language programmer has to tell the system before-hand, the type of numbers or characters he is using in his program. These are data types. There are many data types in C language. A C programmer has to use appropriate data type as per his requirement.
C language data types can be broadly classified as
- Primary data type
- Derived data type
- User defined data type
Primary data type
All C Compilers accept the following fundamental data types
| 1.
|
Integer
|
int
|
| 2.
|
Character
|
char
|
| 3.
|
Floating Point
|
float
|
| 4.
|
Double precision floating point
|
double
|
| 5.
|
Void
|
void
|
The size and range of each data type is given in the table below
| DATA TYPE
|
RANGE OF VALUES
|
| char
|
-128 to 127
|
| Int
|
-32768 to +32767
|
| float
|
3.4 e-38 to 3.4 e+38
|
| double
|
1.7 e-308 to 1.7 e+308
|
Integer Type:
Integers are whole numbers with a machine dependent range of values. A good programming language as to support the programmer by giving a control on a range of numbers and storage space. C has 3 classes of integer storage namely short int, int and long int. All of these data types have signed and unsigned forms. A short int requires half the space than normal integer values. Unsigned numbers are always positive and consume all the bits for the magnitude of the number. The long and unsigned integers are used to declare a longer range of values.
Floating Point Types:
Floating point number represents a real number with 6 digits precision. Floating point numbers are denoted by the keyword float. When the accuracy of the floating point number is insufficient, we can use the double to define the number. The double is same as float but with longer precision. To extend the precision further we can use long double which consumes 80 bits of memory space.
Void Type:
Using void data type, we can specify the type of a function. It is a good practice to avoid functions that does not return any values to the calling function.
Character Type:
A single character can be defined as a defined as a character type of data. Characters are usually stored in 8 bits of internal storage. The qualifier signed or unsigned can be explicitly applied to char. While unsigned characters have values between 0 and 255, signed characters have values from –128 to 127.
Size and Range of Data Types on 16 bit machine.
| type
|
SIZE (Bits)
|
Range
|
| Char or Signed Char
|
8
|
-128 to 127
|
| Unsigned Char
|
8
|
0 to 255
|
| Int or Signed int
|
16
|
-32768 to 32767
|
| Unsigned int
|
16
|
0 to 65535
|
| Short int or Signed short int
|
8
|
-128 to 127
|
| Unsigned short int
|
8
|
0 to 255
|
| Long int or signed long int
|
32
|
-2147483648 to 2147483647
|
| Unsigned long int
|
32
|
0 to 4294967295
|
| Float
|
32
|
3.4 e-38 to 3.4 e+38
|
| Double
|
64
|
1.7e-308 to 1.7e+308
|
| Long Double
|
80
|
3.4 e-4932 to 3.4 e+4932
|