Smile

Monday, June 6, 2011

Basic Data Types in C

C has a concept of 'data types' which are used to define a variable before its use. The definition of a variable will assign storage for the variable and define the type of data that will be held in the location.

The value of a variable can be changed any time.

C has the following basic built-in datatypes.

  • int

  • float

  • double

  • char

Please note that there is not a boolean data type. C does not have the traditional view about logical comparison, but thats another story.

int - data type

int is used to define integer numbers.

    {         int Count;         Count = 5;     } 

float - data type

float is used to define floating point numbers.

    {         float Miles;         Miles = 5.6;     } 

double - data type

double is used to define BIG floating point numbers. It reserves twice the storage for the number. On PCs this is likely to be 8 bytes.

    {         double Atoms;         Atoms = 2500000;     } 

char - data type

char defines characters.

    {         char Letter;         Letter = 'x';     } 

Modifiers

The data types explained above have the following modifiers.

  • short
  • long
  • signed
  • unsigned

The modifiers define the amount of storage allocated to the variable. The amount of storage allocated is not cast in stone. ANSI has the following rules:

        short int <=    int <= long int             float <= double <= long double  

What this means is that a 'short int' should assign less than or the same amount of storage as an 'int' and the 'int' should be less or the same bytes than a 'long int'. What this means in the real world is:


 
Type Bytes Range
short int2-32,768 -> +32,767(32kb)
unsigned short int 2 0 -> +65,535(64Kb)
unsigned int 40 -> +4,294,967,295(4Gb)
int 4 -2,147,483,648 -> +2,147,483,647(2Gb)
long int 4-2,147,483,648 -> +2,147,483,647(2Gb)
signed char1-128 -> +127
unsigned char 1 0 -> +255
float 4
double 8
long double 12

No comments:

Post a Comment