Переменная предоставляет нам именованное хранилище, которое могут манипулировать нашими программами. Каждая переменная в C ++ имеет определенный тип, который определяет размер и расположение памяти переменной; диапазон значений, которые могут быть сохранены в этой памяти; и набор операций, которые могут быть применены к переменной.
Имя переменной может состоять из букв, цифр и символа подчеркивания. Он должен начинаться с буквы или подчеркивания. Буквы верхнего и нижнего регистра различны, потому что C ++ чувствителен к регистру -
Существуют следующие основные типы переменных в C ++:
bool |
Сохраняет значение true или false. |
char |
Обычно один октет (один байт). Это целочисленный тип. |
int |
Самый естественный размер целого для машины. |
float |
Значение с плавающей запятой с одиночной точностью. |
double |
Значение с плавающей запятой с двойной точностью. |
void |
Представляет отсутствие типа. |
wchar_t |
Широкий характер. |
C ++ также позволяет определять различные другие типы переменных, которые мы рассмотрим в последующих главах, таких как Enumeration, Pointer, Array, Reference, Data structure
и Classes
.
В следующем разделе рассказывается, как определять, объявлять и использовать различные типы переменных.
Определение переменных в C ++
Определение переменной сообщает компилятору, где и сколько хранилища следует создать для переменной. Определение переменной указывает тип данных и содержит список одной или нескольких переменных этого типа следующим образом:
type variable_list;
Здесь type
должен быть допустимым типом данных C ++, включая char, w_char, int, float, double, bool или любой пользовательский объект и т. д., А variable_list
может состоять из одного или нескольких имен идентификаторов, разделенных запятыми.
int i, j, k;
char c, ch;
float f, salary;
double d;
Линия int i, j, k;
оба объявляют и определяют переменные i, j и k;
который инструктирует компилятор создавать переменные с именем i, j и k
типа int.
Переменные могут быть инициализированы (назначены начальное значение) в их объявлении. Инициализатор состоит из знака равенства, за которым следует постоянное выражение следующим образом:
type variable_name = value;
extern int d = 3, f = 5; // declaration of d and f.
int d = 3, f = 5; // definition and initializing d and f.
byte z = 22; // definition and initializes z.
char x = 'x'; // the variable x has the value 'x'.
Для определения без инициализатора переменные со статической продолжительностью хранения неявно инициализируются с помощью NULL
(все байты имеют значение 0); начальное значение всех других переменных не определено.
Объявление переменной в C ++
Объявление переменной обеспечивает уверенность компилятора в том, что существует одна переменная, существующая с заданным типом и именем, чтобы компилятор продолжал следующую компиляцию, не требуя полной информации о переменной. Объявление переменной имеет смысл во время компиляции, компилятор нуждается в определении фактической переменной во время компоновки программы.
Объявление переменной полезно, когда вы используете несколько файлов, и вы определяете свою переменную в одном из файлов, которые будут доступны во время компоновки программы. Вы будете использовать ключевое слово extern для объявления переменной в любом месте. Хотя вы можете объявить переменную несколько раз в своей программе на C ++, но ее можно определить только один раз в файле, функцию или блок кода.
Пример:
Попробуйте следующий пример, в котором переменная была объявлена сверху, но она была определена внутри основной функции:
#include <iostream>
using namespace std;
// Variable declaration:
extern int a, b;
extern int c;
extern float f;
int main () {
// Variable definition:
int a, b;
int c;
float f;
// actual initialization
a = 10;
b = 20;
c = a + b;
cout << c << endl ;
f = 70.0/3.0;
cout << f << endl ;
return 0;
}
Когда приведенный выше код компилируется и выполняется, он производит следующий результат:
30
23.3333
Такая же концепция применяется к объявлению функции, где вы указываете имя функции во время ее объявления, и ее фактическое определение может быть дано в другом месте. Например:
// function declaration
int func();
int main() {
// function call
int i = func();
}
// function definition
int func() {
return 0;
}
Lvalues и Rvalues
В C ++ есть два вида выражений:
lvalue
- выражения, относящиеся к ячейке памяти, называются выражениямиlvalue
. Значение l может отображаться как в левой, так и в правой части задания.rvalue
- термин rvalue относится к значению данных, которое хранится на некотором адресе в памяти. Rvalue - это выражение, которое не может иметь назначенное ему значение, что означает, что rvalue может отображаться в правой, но не левой части задания.
Переменные являются lvalues
и поэтому могут отображаться в левой части задания. Числовые литералы являются значениями r и поэтому не могут быть назначены и не могут появляться с левой стороны. Ниже приведено действительное заявление:
int g = 20;
Но следующее не является допустимым оператором и генерирует ошибку времени компиляции:
10 = 20;
Полезный материал, помог мне в изучении c++. Оказывается здесь также просто с переменными как в pascal