The type of data that a variable can store is specified by a data type. The type of data can be integer, floating, character, etc. In C# language, there are 3 types of data types.
|Value Data Type||short, int, char, float, double etc|
|Reference Data Type||String, Class, Object and Interface|
|Pointer Data Type||Pointers|
Value Data Type:
Both the integer-based and floating-point based data types are included in the value data types. Also, both the signed and unsigned literals are supported by the C# language. In C# language, there are 2 types of the value data type.
Predefined Data Types:
Example: Integer, Boolean, Float, etc.
User defined Data Types:
Example: Structure, Enumerations, etc.
According to the 32 or 64-bit operating system, the memory size of data types may also vary. Below we have listed the value data types with size according to the 32 bit OS.
|Data Types||Range||Memory Size|
|char||-128 to 127||1 byte|
|signed char||-128 to 127||1 byte|
|unsigned char||0 to 127||1 byte|
|short||-32,768 to 32,767||2 byte|
|signed short||-32,768 to 32,767||2 byte|
|unsigned short||0 to 65,535||2 byte|
|int||-2,147,483,648 to -2,147,483,647||4 byte|
|signed int||-2,147,483,648 to -2,147,483,647||4 byte|
|unsigned int||0 to 4,294,967,295||4 byte|
|long||?9,223,372,036,854,775,808 to 9,223,372,036,854,775,807||8 byte|
|signed long||?9,223,372,036,854,775,808 to 9,223,372,036,854,775,807||8 byte|
|unsigned long||0 – 18,446,744,073,709,551,615||8 byte|
|float||1.5 * 10-45- 3.4 * 1038, 7-digit precision||4 byte|
|double||5.0 * 10-324- 1.7 * 10308, 15-digit precision||8 byte|
|decimal||at least -7.9 * 10?28- 7.9 * 1028, with at least 28-digit precision||16 byte|
Reference Data Type:
The actual data stored in a variable is not included in a reference data types. They only contain a reference to the variables. Thus a change in value is automatically reflected by the other variable when the data is changed by one of the variables. In C# language, there are 2 types of reference data types.
Predefined Data Types:
Example: Objects, String.
User-defined Data Types:
Example: Classes, Interface.
Pointer Data Type:
Being a variable, a pointer in C# language is used as a locator or an indicator to point to an address of a value.
Symbols used in pointer:
|& (ampersand sign)||Address operator||Used to determine the address of a variable.|
|* (asterisk sign)||Indirection operator||Used to access the value of an address.|
Declaring a pointer:
In C# language, the * (asterisk symbol) is used to declare a pointer.
int * x; //pointer to int
char * ch; //pointer to char