Data Types in C Language
 Download the pdf version of these notes.
 Download the pdf version of these notes.
A programming language is proposed to help programmer to process certain kinds of data and to provide useful output. The task of data processing is accomplished by executing series of commands called program. A program usually contains different types of data types (integer, float, character etc.) and need to store the values being used in the program. C language is rich of data types. A C programmer has to employ proper data type as per his requirements.
C has different data types for different types of data and can be broadly classified as:
- Primary Data Types
- Secondary Data Types

Primary Data Types:
Integer Data Types:
            Integers are  whole numbers with a range of values, range of values are machine dependent.  Generally an integer occupies 2 bytes memory space and its value range limited  to -32768 to +32767 (that is, -215 to +215-1). A signed  integer use one bit for storing sign and rest 15 bits for number.
To control the range of numbers and storage space, C has three classes of integer storage namely short int, int and long int. All three data types have signed and unsigned forms. A short int requires half the amount of storage than normal integer. Unlike signed integer, unsigned integers are always positive and use all the bits for the magnitude of the number. Therefore, the range of an unsigned integer will be from 0 to 65535. The long integers are used to declare a longer range of values and it occupies 4 bytes of storage space.
Syntax:
            int <variable name>;
int num1;
            short int num2;
            long int num3;
Example: 5, 6, 100, 2500.
Integer Data  Type Memory Allocation:
            
Floating Point Data Types:
            The float data  type is used to store fractional numbers (real numbers) with 6 digits of  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 and takes double space (8  bytes) than float.  To extend the precision further we can use long  double which occupies 10  bytes of memory space.
Syntax:
            float <variable name>;
float num1;
            double num2;
            long double num3;
Example: 9.125, 3.1254.
Floating Point  Data Type Memory Allocation:
            
Character Data Type:
            Character type  variable can hold a single character and are declared by using the keyword char. As there are  singed and unsigned int (either short or long), in the same way there are  signed and unsigned chars; both occupy 1 byte each, but having different  ranges. Unsigned characters have values between 0 and 255, signed characters  have values from –128 to 127.
Syntax:
            char <variable name>;
char ch = ‘a’;
Example: a, b, g, S, j.
Void Type:
The void type has no values therefore we cannot declare it as variable as we did in case of integer and float. The void data type is usually used with function to specify its type.


 
                
                
				


 8+
 8+      4+
 4+      10+
 10+      4+
 4+      4+
 4+