Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Типы переменных в C++: память, ограничения и операции

Переменная предоставляет именованное хранилище, которое программы могут манипулировать. У каждой переменной в C++ есть конкретный тип, определяющий размер и компоновку памяти переменной; диапазон значений, которые можно в ней хранить; и набор операций, применимых к переменной.

Имя переменной может состоять из букв, цифр и подчёркивания. Должно начинаться с буквы или подчёркивания. Заглавные и строчные буквы различаются, так как C++ чувствителен к регистру.

В C++ есть следующие базовые типы переменных:

№Тип и описание
1

bool

Хранит значение true или false.

2

char

Обычно один октет (один байт). Это целочисленный тип.

3

int

Самый естественный размер целого для данной машины.

4

float

Значение с плавающей точкой одинарной точности.

5

double

Значение с плавающей точкой двойной точности.

6

void

Представляет отсутствие типа.

7

wchar_t

Тип широкого символа.

C++ также позволяет определять другие типы переменных: перечисления, указатели, массивы, ссылки, структуры данных и классы.

Далее рассматривается определение, объявление и использование переменных разных типов.

Определение переменной в C++

Определение переменной сообщает компилятору, где и сколько памяти создать для переменной. Определение указывает тип данных и содержит список одной или нескольких переменных этого типа:

тип список_переменных;

Здесь тип — любой допустимый тип C++ (char, wchar_t, int, float, double, bool или пользовательский), а список_переменных — одно или несколько имён через запятую. Примеры:

int i, j, k;
char c, ch;
float f, salary;
double d;

Строка int i, j, k; одновременно объявляет и определяет переменные i, j, k типа int.

Переменные можно инициализировать (присвоить начальное значение) при объявлении. Инициализатор — знак равенства и константное выражение:

тип имя_переменной = значение;

Примеры:

extern int d = 3, f = 5; // объявление d и f
int d = 3, f = 5;        // определение и инициализация d и f
byte z = 22;             // определение и инициализация z
char x = 'x';            // переменная x имеет значение 'x'

Для определения без инициализатора: переменные со статической длительностью хранения неявно инициализируются NULL (все байты = 0); начальное значение остальных переменных не определено.

Объявление переменной в C++

Объявление переменной гарантирует компилятору, что существует переменная с данным типом и именем, чтобы компилятор мог продолжить компиляцию без полных деталей. Объявление имеет смысл только на этапе компиляции; компилятору нужно фактическое определение на этапе компоновки.

Объявление полезно при использовании нескольких файлов: вы определяете переменную в одном файле, который будет доступен при компоновке. Для объявления переменной в любом месте используется ключевое слово extern. Переменную можно объявлять много раз, но определять — только один раз в файле, функции или блоке кода.

Пример

Пример: переменная объявлена вверху, но определена внутри main:

Live Demo
#include <iostream>
using namespace std;
// Объявление переменных:
extern int a, b;
extern int c;
extern float f;
int main() {
    // Определение переменных:
    int a, b;
    int c;
    float f;
    // фактическая инициализация
    a = 10;
    b = 20;
    c = a + b;
    cout << c << endl;
    f = 70.0/3.0;
    cout << f << endl;
    return 0;
}

Результат компиляции и выполнения:

30
23.3333

То же самое относится к объявлению функций: вы даёте имя функции при объявлении, а фактическое определение можно дать где угодно. Например:

// объявление функции
int func();
int main() {
    // вызов функции
    int i = func();
}
// определение функции
int func() {
    return 0;
}

Lvalues и Rvalues

В C++ есть два вида выражений:

  • lvalue — выражения, ссылающиеся на ячейку памяти. Lvalue может стоять слева или справа от присваивания.

  • rvalue — термин для значения данных, хранящегося по какому-то адресу в памяти. Rvalue — выражение, которому нельзя присвоить значение, то есть оно может стоять только справа от присваивания.

Переменные — это lvalues, поэтому могут стоять слева от присваивания. Числовые литералы — rvalues, их нельзя присваивать и они не могут стоять слева. Допустимый оператор:

int g = 20;

А следующий недопустим и вызовет ошибку компиляции:

10 = 20;

Язык C

  1. Освоение операторов C++: полное руководство с практическими примерами
  2. Примитивные типы данных в Java: полное руководство с примерами
  3. Переменные и типы данных в C++: подробное руководство по int, double, char, string, bool
  4. Операторы в C++: типы, примеры и практические программы
  5. Указатели в C++: концепции, примеры и практические применения
  6. Тип данных char в C++: объявление, ASCII и методы преобразования
  7. Указатели в C: полное руководство по типам, использованию и лучшим практикам
  8. Типы переменных в Java: локальные, экземпляра и статические
  9. Переменные в C: объявление, определение, инициализация, область видимости и классы хранения
  10. Типы переменных в C++: память, ограничения и операции