A variable provides us with named storage that our programs can manipulate. Each variable in C++ has a specific type, which determines the size and layout of the variable's memory; the range of values that can be stored within that memory; and the set of operations that can be applied to the variable. A very simple example of a variable is −
int my_val = 5;
Here we have a variable my_val of type int(integer) and having the value 5. More generally variables are defined as −
type variable_name;
Or if you also want to initialize them −
type variable_name = value;
The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because C++ is case-sensitive. Following are the basic types available in C++ −
| S.No | Type | Description |
|---|---|---|
| 1 | bool | Stores either value true or false. |
| 2 | char | Typically a single octet (one byte). This is an integer type. |
| 3 | int | The most natural size of an integer for the machine. |
| 4 | float | A single-precision floating point value. |
| 5 | double | A double-precision floating point value. |
| 6 | void | Represents the absence of type. |
C++ also allows us to create more complex variables like Enumeration, Pointer, Array, Reference, Data structures, and Classes.
- Enumerations or enums is a data type consisting of a set of named values called elements, members, enumeral, or enumerators of the type. The enumerator names are usually identifiers that behave as constants in the language.
- Pointers are special ints that store addresses of other variables.
- A Reference is a simple reference datatype that is less powerful but safer than the pointer type inherited from C.
- A data structure(struct) is a group of data elements grouped together under one name. These data elements, known as members, can have different types and different lengths.
- Classes are an expanded concept of data structures: like data structures, they can contain data members, but they can also contain functions as members.