C Programming Language - Data Types
C Programming Language - Data Types
In this tutorial you will learn about C language data types, Primary data type, Integer
Type, Floating Point Types, Void Type, Character Type, Size and Range of Data Types
on 16 bit machine, derived data type, Declaration of Variables, User defined type
declaration, Declaration of Storage Class, auto, static, extern, register, Defining Symbolic
Constants, Declaring Variable as Constant and Volatile Variable
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.
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 datatypes 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
Declaration of Variables
Every variable used in the program should be declared to the compiler. The declaration
does two things.
1. Tells the compiler the variables name.
2. Specifies what type of data the variable will hold.
The general format of any declaration
datatype v1, v2, v3, ……….. vn;
Where v1, v2, v3 are variable names. Variables are separated by commas. A declaration
statement must end with a semicolon.
Example:
Int sum;
Int number, salary;
Double average, mean;
Datatype Keyword Equivalent
Character char
Unsigned Character unsigned char
Signed Character signed char
Signed Integer signed int (or) int
Signed Short Integer signed short int (or) short int (or) short
Signed Long Integer signed long int (or) long int (or) long
UnSigned Integer unsigned int (or) unsigned
UnSigned Short Integer unsigned short int (or) unsigned short
UnSigned Long Integer unsigned long int (or) unsigned long
Floating Point float
Double Precision Floating Point double
Extended Double Precision Floating Point long double