might have been surprised to see that the range of char is given as - to char is supposed to store characters not numbersso why this rangethe answer is that in the memorycharacters are stored in their ascii codes for examplethe character 'ahas the ascii code of in memory we will not store 'abut (in binary number formattable basic data types in data type size in bytes range use char - to to store characters int - to to store integer numbers float - to + to store floating point numbers double - to + to store big floating point numbers in additionc also supports four modifiers--two sign specifiers (signed and unsignedand two size specifiers (short and longtable shows the variants of basic data types table basic data types and their variants data type size in bytes range char - to unsigned char to signed char - to int - to unsigned int to signed int - to short int - to unsigned short int to signed short int - to long int - to unsigned long int to - to signed long int float - to + double - to + long double - to + note when the basic data type is omitted from declarationthen automatically type int is assumed for examplelong var//int is implied while the smaller data types take less memorythe larger data types incur performance penalty although the data type we use for our variables does not have big impact on the speed or memory usage of the applicationwe should always try to use int unless there is need to use any other data type variables and constants variable is defined as meaningful name given to data storage location in the computer memory when using variablewe actually refer to the address of the memory where the data is stored language supports two basic kinds of variables