Data types in any of the language mean that what are the various type of data the variables can have in that particular language. Information is stored in a computer memory with different data types. Whenever a variable is declared it becomes necessary to define the data type that what will be the type of data that variable can hold.
- Primary(Built-in) Data Types:
- character
- integer
- floating point
- boolean
- double floating point
- void
- wide character
- User Defined Data Types:
- Structure
- Union
- Class
- Enumeration
- Derived Data Types:
- Array
- Function
- Pointer
- Reference
Both C and C++ compilers support the fundamental i.e. the built-in data types. Taking void as exception, the basic data types may have several modifiers, and these modifiers are used to serve the data types in various situations.
- signed
- unsigned
- long
- short
Character Data Types
Data Type (Keywords) | Description | Size | Typical Range |
---|---|---|---|
char | Any single character. It may include a letter, a digit, a punctuation mark, or a space. | 1 byte | -128 to 127 or 0 to 255 |
signed char | Signed character. | 1 byte | -128 to 127 |
unsigned char | Unsigned character. | 1 byte | 0 to 255 |
wchar_t | Wide character. | 2 or 4 bytes | 1 wide character |
Integer Data Types
Data Type (Keywords) | Description | Size | Typical Range |
---|---|---|---|
int | Integer. | 4 bytes | -2147483648 to 2147483647 |
signed int | Signed integer. Values may be negative, positive, or zero. | 4 bytes | -2147483648 to 2147483647 |
unsigned int | Unsigned integer. Values are always positive or zero. Never negative. | 4 bytes | 0 to 4294967295 |
short | Short integer. | 2 bytes | -32768 to 32767 |
signed short | Signed short integer. Values may be negative, positive, or zero. | 2 bytes | -32768 to 32767 |
unsigned short | Unsigned short integer. Values are always positive or zero. Never negative. | 2 bytes | 0 to 65535 |
long | Long integer. | 4 bytes | -2147483648 to 2147483647 |
signed long | Signed long integer. Values may be negative, positive, or zero. | 4 bytes | -2147483648 to 2147483647 |
unsigned long | Unsigned long integer. Values are always positive or zero. Never negative. | 4 bytes | 0 to 4294967295 |
Floating-point Data Types
Data Type (Keywords) | Description | Size | Typical Range |
---|---|---|---|
float | Floating point number. There is no fixed number of digits before or after the decimal point. | 4 bytes | +/- 3.4e +/- 38 (~7 digits) |
double | Double precision floating point number. More accurate compared to float. | 8 bytes | +/- 1.7e +/- 308 (~15 digits) |
long double | Long double precision floating point number. | 8 bytes | +/- 1.7e +/- 308 (~15 digits) |
Boolean Data Type
Data Type (Keywords) | Description | Size | Typical Range |
---|---|---|---|
bool | Boolean value. It can only take one of two values: true or false. | 1 byte | true or false |
Below example will produce correct size of various data type, on your computer.
#include <iostream>
using namespace std;
int main() {
cout << "Size of char is " << sizeof(char) << endl;
cout << "Size of int is " << sizeof(int) << endl;
cout << "Size of float is " << sizeof(float) << endl;
cout << "Size of short int is " << sizeof(short int) << endl;
cout << "Size of long int is " << sizeof(long int) << endl;
cout << "Size of double is " << sizeof(double) << endl;
cout << "Size of wchar_t is " << sizeof(wchar_t) << endl;
return 0;
}
Size of char is 1 Size of int is 4 Size of float is 4 Size of short int is 2 Size of long int is 4 Size of double is 8 Size of wchar_t is 4
Enum Data Type
This is an user defined data type having finite set of enumeration constants. The keyword ‘enum‘ is used to create enumerated data type.
Syntax:
enum enum-name {list of names}var-list;
enum mca(software, internet, seo);
Typedef
It is used to create new data type. But it is commonly used to change existing data type with another name.
Syntax:
typedef [data_type] synonym;
typedef [data_type] new_data_type;
typedef int integer;
integer rollno;
Leave A Comment