C Data Types

Data types indicate the which type of data stored in a variable.
The type of a variable determines how much space it occupies in storage.
In C, data types are classified in following types:

  1. Basic Data Type:
    • int
    • char
    • float
    • double
  2. Derived Data Type:
    • array
    • pointer
    • structure
    • union
  3. Void Data Type:
    • void
  4. Enumeration Data Type:
    • enum

Basic Data Types

  • char – char defines a character used to store a single character.
    Example: char ch = ‘a’;
  • int – int is used to store integer numbers.
    Example: int count = 5;
  • float – float is used to define floating-point numbers with single precision.
    Example: float x = 10.0f;
  • double – double is used to define floating-point numbers with double precision.
    Example: double num = 10.9999;

Different data types also have different value range. The storage size of basic data types changes according to 8 or 16 or 32 or 64-bit operating system.
The following table gives details of data types with there required storage size and value ranges according to 16-bit architecture:

    Type Storage size (byte) Value range
              char                 1 -128 to 127
      signed char                 1 -128 to 127
   unsigned char                 1 0 to 255
             int                 2 -32,768 to 32,767
       signed int                 2 -32,768 to 32,767
    unsigned int                 2 0 to 65,535
       short int                 2 −32,768 to 32,767
   signed short int                 2 −32,768 to 32,767
unsigned short int                2 0 to 65,535
      long int                4 -2,147,483,648 to 2,147,483,647
  long signed int               4 -2,147,483,648 to 2,147,483,647
  long unsigned int               4 0 to 4,294,967,295
               float              4 -3.4e38 to +3.4e38 (6 decimal precision)
            double             8 -1.7e308 to +1.7e308 (15 decimal precision)
        long double            10 -1.7e4932 to +1.7e4932 (19 decimal precision)

Mainly, the primary data types are of three varieties, char int, and float. But how C programmer manages with only 3 data types. Fact is, They can derive many data types from these three types.
The primary data types could be of several types. Like a char could be unsigned-char (1 byte) or signed-char(1 byte) OR int could be short-int(2 bytes) or long-int (4 bytes).

Note: Now C allows the abbreviation of short int to short and of long int to long.

Integer signed and unsigned:

Types of int data types

Above diagram shows int could be short int or long int. short int is also called as short and long int is also known as long. Now int can be signed int or unsigned int. There also short unsigned int and short signed int. By default short signed int is short int.

Same as short, long unsigned int and long signed int also exist. By default long signed int is long int.

Char, signed and unsigned:

Parallel to signed int and unsigned int, similarly there exist signed and unsigned char each are of 1 byte. Signed char is same as ordinary char. Signed char has ranged from -128 to +127. Unsigned char has ranged from 0 to 255.

Floats and Doubles:

Float occupies 4 bytes in memory. If this is insufficient then C offers a double data type that occupies 8 bytes in memory. If the situation demands beyond double data type, then there exists a long double data type which occupies 10 bytes in memory.

Derived Data Type

Derived data types include Pointer types, Array types, Structure types, Union types, Function types.

Enumeration Data Types

enum is a special data type that consists of the set of constants.

Void Data Types

Void is an empty data type that has no value.
A Void data type used with functions to return no value.


Help others by sharing the content!

3 thoughts on “C Data Types”

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.