Home » C programming language

C language Basic Data Types and their Sizes



Data types define the size and type of values to be stored in the computer memory, Basic Data Types are also known as "primitive data types" here are the few basic data types with their sizes in C language:

  1. char
  2. int
  3. float

1) char

char represents character, it can be used to declare a character type variable, constant in C language. It takes only one byte (8 bits) in the computer memory and it stores a single character. The value range of char data type is -128 to +127.

'char' variable declaration

char gender; 	/* to store gender*/

'char' constant declaration

const char IS_MARRIED= 'N'; /*to store, marital status as "No"*/

2) int

int represents integer, it can be used to declare an integer type variable, constant in C language. It takes either 2 bytes (16 bits) or 4 bytes (32 bits) according to compiler architecture in the computer memory. It stores only integer numbers (numbers without precision). The value range of 2 bytes integer is -32,768 to +32,767 and 4 bytes integer is -21474836478 to +21474836477.

'int' variable declaration

int number; 	/*to store any integer number*/

'int' constant declaration

const int MAX_LENGTH=100; 	/*to store maximum length as 100*/

3) float

float represents single precision float type value, it can be used to declare a float type variable, constant in C language. It takes 4 bytes (32 bits) in the computer memory. The value range of float data type is 1.2E-38 to 3.4E+38 with 6 decimal places.

'float' variable declaration

float weight;	/*to store weight in kilogram and gram*/

'float' constant declaration

const float PI=3.14f;	/*to store value of PI as 3.14*/

These are the basic/primitive data types in C language, there are other data types too, they are the enhanced version of these data types, by using some qualifiers we can change their storage capacity and value range, some of the most useful qualifiers are:

  1. unsigned
  2. short
  3. long

A) unsigned

Consider the given declaration

char value;

Here, value is the signed char type variable and it can store value between -128 to +127, but if we have only positive values we can define the value as unsigned char.

unsigned defines that variable will store only positive values and the value range of unsigned type variable is: 0 to ((MAX_RANGE*2)+1).

unsigned char - 0 to 255
unsigned int - 0 to 65,535 (for 2 bytes integer)
unsigned int - 0 to 4294967295 (for 4 bytes integer)

B) short

short can also be written as short int, it takes 2 bytes (16 bits) in the computer memory and its value range is -32,768 to +32767 (which is similar to 2 bytes int data type).

short can also be used as unsigned short, in that case the value range will be 0 to 65,535.

C) long

long can be used with int and double data types, here is the sizes that variable will take in the computer memory.

According to 32 bits compiler architecture

long int - 8 bytes
long double - 16 bytes






Was this page helpful? YES NO

Are you a blogger? Join our Blogging forum.



Comments and Discussions


We are using Google to publish ads on our website; Google has its own privacy policies. They may save log, cookies on your system. Google may also collect information of your system like IP address, region, city, country. For more details please go through the Google’s privacy policy.