Что такое инициализация переменной

Инициализаторы

Инициализатор определяет начальное значение переменной. Можно инициализировать переменные в этих контекстах:

В определении переменной:

В качестве одного из параметров функции:

В качестве возвращаемого типа функции:

Инициализаторы могут принимать эти формы:

Выражение (или разделенный запятыми список выражений) в скобках:

Знак равенства с последующим выражением:

Список инициализации в фигурных скобках. Список может быть пустым или может состоять из набора списков как в приведенном ниже примере.

Типы инициализации

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

Нулевая инициализация

Нулевая инициализация — задание для переменной нулевого значения, неявно преобразованного в тип:

Числовые переменные инициализируются значением 0 (или 0,0; 0,0000000000 и т.п.).

Нулевая инициализация выполняется в разное время:

При запуске программы — для всех именованных переменных, имеющих статическую длительность. Далее эти переменные могут быть инициализированы повторно.

Во время инициализации значений — для скалярных типов и типов класса POD, которые инициализируются с помощью пустых фигурных скобок.

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

Ниже приведены некоторые примеры нулевой инициализации:

Инициализация по умолчанию

Инициализация по умолчанию для классов, структур и объединений — это инициализация с помощью конструктора по умолчанию. Конструктор по умолчанию можно вызвать без выражения инициализации или с помощью new ключевого слова:

Если класс, структура или объединение не имеет конструктор по умолчанию, компилятор выдает ошибку.

Скалярные переменные инициализируются по умолчанию, если при их определении не указываются выражения инициализации. Они имеют неопределенные значения.

Массивы инициализируются по умолчанию, если при их определении не указываются выражения инициализации. Если массив инициализируется по умолчанию, его члены инициализируются по умолчанию и приобретают неопределенные значения как в приведенном ниже примере.

Если члены массива не имеют конструктор по умолчанию, компилятор выдает ошибку.

Инициализация по умолчанию константных переменных

Константные переменные необходимо объявлять вместе с инициализатором. Если они относятся к скалярным типам, они вызывают ошибку компилятора, а если они относятся к типам классов, имеющим конструктор по умолчанию, они вызывают предупреждение:

Инициализация по умолчанию статических переменных

Статические переменные, объявленные без инициализатора, инициализируются значением 0 (с неявным преобразованием к соответствующему типу).

Дополнительные сведения об инициализации глобальных статических объектов см. в разделе функция Main и аргументы командной строки.

Инициализация значения

Инициализация значения происходит в следующих случаях:

Именованное значение инициализируется с использованием пустых фигурных скобок.

Анонимный временный объект инициализируется с помощью пустых круглых или фигурных скобок.

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

При инициализации значения выполняются следующие действия:

Для классов, имеющих хотя бы один открытый конструктор, вызывается конструктор по умолчанию.

В случае классов, не относящихся к объединениям, у которых нет объявленных конструкторов, объект инициализируется нулевым значением, и вызывается конструктор по умолчанию.

В случае массивов каждый элемент инициализируется значением.

Во всех остальных случаях переменная инициализируется нулевым значением.

Инициализация копированием

Инициализация копированием — это инициализация одного объекта с использованием другого объекта. Она выполняется в следующих случаях:

Переменная инициализируется с помощью знака равенства.

Аргумент передается в функцию.

Объект возвращается функцией.

Возникает или перехватывается исключение.

Нестатический элемент данных инициализируется с помощью знака равенства.

Следующий код демонстрирует несколько примеров инициализации копированием.

Инициализация копированием не может вызывать явные конструкторы.

В некоторых случаях, если конструктор копии класса удален или недоступен, копируемая инициализация вызывает ошибку компилятора.

Прямая инициализация

Прямая инициализация — это инициализация с использованием (непустых) круглых или фигурных скобок. В отличие от копируемой инициализации она может вызывать явные конструкторы. Она выполняется в следующих случаях:

Переменная инициализируется с помощью непустых круглых или фигурных скобок.

переменная инициализируется с помощью new ключевого слова, а также непустых фигурных скобок или круглых скобок

В конструкторе базовые классы и нестатические члены инициализируются с помощью списка инициализации.

В копии захваченной переменной в лямбда-выражении.

Приведенный ниже код демонстрирует несколько примеров прямой инициализации.

Инициализация списка

Инициализация списком выполняется, когда переменная инициализируется с помощью списка инициализации в фигурных скобках. Списки инициализации в фигурных скобках можно использовать в следующих случаях:

класс инициализируется с помощью new ключевого слова

Объект возвращается функцией.

Аргумент передается функции.

Один из аргументов при прямой инициализации.

В инициализаторе нестатических элементов данных.

В списке инициализации конструктора.

Приведенный ниже код демонстрирует несколько примеров инициализации списком.

Агрегатная инициализация

Агрегатная инициализация — форма инициализации списка для массивов и типов классов (часто структур и объединений), со следующими характеристиками:

Отсутствие закрытых или защищенных членов.

Отсутствие заданных пользователем конструкторов кроме явно заданных по умолчанию или удаленных конструкторов.

Отсутствие базовых классов.

Отсутствие виртуальных функций-членов.

в Visual Studio 2015 и более ранних версиях статистическое выражение не может содержать инициализаторы с фигурными или равными скобками для нестатических членов. это ограничение было удалено в стандарте c++ 14 и реализовано в Visual Studio 2017.

Агрегатные инициализаторы состоят из списка инициализации в фигурных скобках со знаком равенства или без него как в приведенном ниже примере:

Вы должны увидеть следующий результат:

Элементы массива, объявляемые, но не инициализированные во время инициализации агрегата, инициализируются нулем, как показано myArr3 выше.

Инициализация объединений и структур

Если объединение не имеет конструктора, его можно инициализировать одним значением (или другим экземпляром объединения). Значение используется для инициализации первого нестатического поля. Это отличается от инициализации структур, где первое значение в инициализаторе используется для инициализации первого поля, второе — для инициализации второго поля и т. д. Сравните инициализацию объединений и структур в следующем примере:

Инициализация статистических выражений, содержащих статистические выражения

Агрегатные типы могут содержать другие агрегатные типы, например массивы массивов, массивы структур и т. п. Эти типы инициализируются с помощью вложенных наборов фигурных скобок, как показано в следующем примере:

Инициализация ссылок

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

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

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

Переменные ссылочного типа можно объявлять без инициализаторов только в указанных ниже случаях.

Объявления функций (прототипы). Например:

Объявления типов значений, возвращаемых функцией. Например:

Объявления члена класса ссылочного типа. Например:

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

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной
Граф принятия решений для инициализации ссылочных типов

Инициализация внешних переменных

Источник

Java Core для самых маленьких. Часть 3. Переменные

В предыдущей статье мы говорили о типах данных, а теперь поговорим о вытекающей из этого теме, о переменных.

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

На скриншоте выше продемонстрирован пример создания переменных.

Давайте сразу научимся давать имена переменным правильно. Существует документ Java Code Conventions. В нем указаны правила к написанию кода на Java. Нужно это для того, что бы Java код в разных проектах был написан в едином стиле. Таким образом, новоприбывший на проект программист не будет отвлекаться на новый стиль кода, ведь он будет оформлен так же, как и на других проектах. Эти правила работают и при нейминге переменных.

Итак, переменные принято называть в lowerCamelCase стиле. Сейчас покажу как хорошо, а как плохо:

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Вот было значение 1998, а на следующей строке стало 2000. А вот с константой так не получится. Константа гарантирует, что ее значение не изменится на протяжении всего времени выполнения программы. Как создать константу? Очень просто:

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Нужно всего лишь дописать ключевое слово final перед типом данных переменной. Для простоты понимания, мы как бы «финализируем» значение переменной и говорим, что это значение конечное.

Обратим внимание на имя константы. Когда мы даем имя константе, то должны делать это в стиле SCREAMING_SNAKE_CASE. Давайте исправим мой код:

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

В целом, вас никогда не погладят по головке за правильный нейминг в коде. Подразумевается, что это нечто естественное при написании кода. Как правила этикета у людей. А вот если вы будете называть ваши переменные и константы абы как, получите незамедлительного леща.

Инициализация переменных

У всех переменных из моих примеров уже было присвоено начальное значение. Процесс присвоения начального значения называется инициализацией переменной. И не обязательно инициализировать переменную во время ее объявления. Java позволяет сделать это и позже.

Во-первых, можно объявлять переменные через запятую (если они одинакового типа):

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

При этом, смотрите, мы можем некоторые из них инициализировать прямо во время объявления. А теперь инициализируем оставшиеся:

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Для инициализации переменных типа char я использовал цепочку присваиваний. Да, и так тоже можно. Хотя используется очень редко.
Если мы попытаемся провести какую-то операция с переменной, у которой нет значения, то получим ошибку.

Оператор присваивания

Литералы

В Java постоянные значения задаются литеральным представлением. Простым языком, при помощи определенных символов мы можем указывать тип данных. Вот например, при работе с целочисленными литералами нам не нужны никакие литералы. Мы просто пишем число 1998; и Java понимает, что это целочисленное значение.

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Так, что еще за символы подчеркивания в значении переменной? Это всего-навсего декор. С JDK 7 допустимо указывать знаки подчеркивания, для разбиения больших чисел на разряды, для удобства чтения.

В вышеописанных примерах были литералы для целочисленных десятичных значений. А еще мы можем присвоить целому числу литерал в виде восьмеричного значения. Для этого вам нужно добавить в самом начале значения 0. Но в таком случае, логично, что это значение не сможет содержать цифры 8 и 9, поскольку они выходят за пределы восьмеричной системы счисления.

Мало того, еще мы можем использовать литерал шестнадцатеричных значений. Такие значения обозначают с начальным 0x или 0X, а цифры в пределах от 10 до 15 заменяются символами ABCDEF английского алфавита.

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

С JDK 7 есть возможность указывать целочисленные литералы в двоичном виде. Для этого вначале значения нужно указать 0b или 0B и соответственно в значениях можно использовать только цифры 0 и 1. В реальности, вам навряд ли понадобятся литералы шестнадцатеричных, восьмеричного или двоичных значений. Однако, знать о них нужно.

Литералы дробных чисел

Но существует и экспоненциальная форма записи этих чисел в виде 2.34e12;

Где число после символа ‘e’ обозначает степень 10-ти. Простыми словами, мы записали 2 целых и 34 сотых умноженное на 10 в 12 степени.

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Как и в случае с целочисленными значениями, литералы с плавающей точкой поддерживают нижнее подчеркивание начиная с JDK 7.

Логические литералы

Символьные литералы

Для символьных литералов, которые присутствуют на вашей клавиатуре вы можете использовать одинарные кавычки, обернув ими необходимый вам символ введенный с клавиатуры.

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Я не просто так обратил ваше внимание на символы с клавиатуры. Ведь существуют и такие символы, которых на клавиатуре нет, да и на символы они не похожи. Сейчас разберемся.

А вот если символ нельзя ввести непосредственно с клавиатуры, то для ввода таких символов используют ряд управляющих последовательностей. Например, символ переноса строки ‘\n’. Существуют последовательности, которые существуют для ввода значений в восьмеричной и шестнадцатеричной форме. Например, мы захотели ввести букву tu катаканы смайлик: . Берем и пишем:

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

В данной таблице вы можете посмотреть наиболее используемые последовательности символов:

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Когда-то давно, я писал статью про экранирование символом. Настоятельно рекомендую прочитать, как дополнительный материал. Узнаете много интересного.

Строковый литерал

Можно заключить последовательность символов в двойные кавычки и получить так называемую строку.

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Динамическая инициализация

Пару слов о таком термине как динамическая инициализация. Ничего сложного, только звучит страшно.

Переменную можно инициализировать другой переменной. Также, допускается инициализация переменной результатом какого-то выражения.

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Главное, чтобы тип данных выражения / инициализирующей переменной совпадал с типом данных целевой переменной.

Преобразование и приведение типов

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

Часто программисты сталкиваются с ситуацией, когда переменной одного типа приходится присваивать значение другого типа. Если оба типа данных совместимы, их преобразование будет выполнено автоматически. Для автоматического преобразования должно выполняться 2 условия:

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

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

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Нужно понимать, что преобразование вы проводите на свой страх и риск. Вы должны быть уверенным в том, что преобразуемое значение помещается в диапазон целевого типа. В противном случае вы получите некорректные данные.

Подводим итоги

В этой статье мы поговорили о многих важных вещах. Узнали, как создавать переменные и константы в Java, и чем они отличаются. Узнали о способах инициализации переменных. Разобрались с тем, что такое литералы и какие они бывают. А так же выполнили преобразование и приведение типов данных.

Скажем спасибо Егору за предоставленный материал.

Источник

Инициализация

1. Инициализация переменных

Как вы уже знаете, в вашем классе можно объявить несколько переменных класса, и не просто объявить, а сразу инициализировать их стартовыми значениями.

Однако эти же переменные можно инициализировать и в конструкторе. Поэтому теоретически возможна ситуация, когда одним и тем же переменным класса значения присваиваются дважды. Пример

Переменной age присваивается стартовое значение

Стартовое значение перетирается

Для age используется стартовое значениеТак можно: вызовется первый конструкторТак можно: вызовется второй конструктор

Вот что будет происходить при выполнении кода Cat cat = new Cat(«Васька», 2); :

Т.е. переменные класса сначала инициализируются своими значениями, а уже затем выполняется код конструкторов.

2. Порядок инициализации переменных класса

Переменные не просто инициализируются до работы конструктора: они еще и инициализируются в четко заданном порядке — порядке объявления в классе.

Давайте рассмотрим такой интересный код:

Примечание: но вы же помните, что ваш код должен быть прозрачен для других разработчиков, так что такие приемы лучше не использовать — это ухудшает читаемость кода.

Тут нужно помнить, что все переменные класса до того, как им присвоили какое-либо значение, имеют значение по умолчанию. Для типа int это ноль.

Если вы создали переменную внутри метода, вы не можете ее использовать, если прежде не присвоили ей какое-нибудь значение. А с переменными класса это не так. Если переменной класса не присвоено стартовое значение, значит ей присваивается значение по умолчанию.

3. Константы

Но вот чего вы не знаете, так это того, что стартовое значение можно сразу не присваивать, если присвоить его в конструкторе. И это отлично будет работать для final-переменной. Единственное требование — если конструкторов несколько, final переменной должно быть присвоено значение во всех конструкторах.

Источник

Объявление? Определение? Инициализация?

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной Что такое инициализация переменной. Смотреть фото Что такое инициализация переменной. Смотреть картинку Что такое инициализация переменной. Картинка про Что такое инициализация переменной. Фото Что такое инициализация переменной

Объявление? Определение? Инициализация?

В чем разница между объявлением переменной, её определением и инициализацией

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

Такими близкими по смыслу и довольно часто путающимися являются понятия «объявление» переменной, её «определение» и её «инициализация».

В силу некоторой личной привычки я иногда фиксирую результаты гугления по тому или иному вопросу, связанному с обучением, в небольших конспектах. Это помогает разобраться в материале, систематизировать его и по-своему, более удобно для себя изложить. В дальнейшем такие записи помогают быстро повторить пройденный материал и являются своеобразным альтернативным вариантом изложения той или иной учебной темы.

И поскольку мы живем в жутко социализированное время, то естественно хочется поделиться результатами своего труда с другими,такими же начинающими программистами. Возможно кому-то это тоже пригодится.

Объявление переменной или константы

В приведенном примере задана переменная (var), задано имя переменной (а) и задано значение переменной (10).

Определение переменной или константы

Как известно, объявить переменную мы можем и без указания значения. Но тогда нужно указать тип данных будущего значения.

Вспомним, зачем это делается. Если в первом случае мы сразу указываем значение, то Swift автоматом определяет тип данных значения. Если же значение не указано, то Swift не знает, какого типа данные в ней будут храниться и ему нужно явно указать этот тип.

Аннотация типа может быть простая, состоящая из одного слова, обозначающая тип данных, так и составная. Например, в кортежах (tuples) может быть и такая запись

И кстати, для чистоты кода в Swift рекомендуется не ставить пробел между именем переменной и двоеточием.

Инициализация переменной или константы

В первом примере, который мы продублируем ниже, где происходит не только объявление переменной, но и её инициализация:

Инициализация означает, что переменная запущена в работу, ей присвоено начальное значение, она инициализирована. Без присвоения начального значения переменная просто объявлена, а с начальным значением она еще и инициализирована.

Во втором случае, когда переменная объявлена без начального значения, т.е. она еще не инициализирована, не готова полностью к работе.

Но, как мы помним, Swift рекомендует экономить время, если есть значение, он может самостоятельно определить тип данных.

Ковбойская история

Разницу между этими тремя действиями можно проиллюстрировать с помощью шуточного примера, найденного на просторах интернета и немного подредактированного))

Заметка

Обратите внимание, что мы используем выражение «тип данных» и по отношению к значению, и по отношению к переменным и константам. Дело в том, что в программировании по большому счета можно практически все называть типом данных. Это и объекты, и классы, и наиболее нам известные Int, String, Double, Bool и т.д.
Но, чтобы как-то все же отличать типы данных значений от констант и переменных будем называть последние некими сущностями, элементами языка программирования. Тогда у нас будут типы данных для значений и типы данных для определенных элементов программирования (к которым относятся в том числе константы и переменные).

Источник

Урок №28. Инициализация, присваивание и объявление переменных

Обновл. 11 Сен 2021 |

Этот урок является более детальным продолжением урока №10.

Адреса и переменные

Как вы уже знаете, переменные — это имена кусочков памяти, которые могут хранить информацию. Помним, что компьютеры имеют оперативную память, которая доступна программам для использования. Когда мы определяем переменную, часть этой памяти отводится ей.

Поскольку все данные компьютера — это лишь последовательность битов, то мы используем тип данных (или просто «тип»), чтобы сообщить компилятору, как интерпретировать содержимое памяти. Вы уже видели пример типа данных: int (целочисленный тип данных). Когда мы объявляем целочисленную переменную, то мы сообщаем компилятору, что «кусочек памяти, который находится по такому-то адресу, следует интерпретировать как целое число».

Когда вы указываете тип данных для переменной, то компилятор и процессор заботятся о деталях преобразования вашего значения в соответствующую последовательность бит определенного типа данных. Когда вы просите ваше значение обратно, то оно «восстанавливается» из этой же последовательности бит.

Кроме int, есть много других типов данных в языке C++, большинство из которых мы детально рассмотрим на соответствующих уроках.

Фундаментальные типы данных в С++

В языке C++ есть встроенная поддержка определенных типов данных. Их называют основными типами данных (или «фундаментальные/базовые/встроенные типы данных»).

Вот список основных типов данных в языке C++:

Категория Тип Значение Пример
Логический тип данныхbooltrue или falsetrue
Символьный тип данныхchar, wchar_t, char16_t, char32_tОдин из ASCII-символов‘c’
Тип данных с плавающей запятойfloat, double, long doubleДесятичная дробь3.14159
Целочисленный тип данныхshort, int, long, long longЦелое число64
ПустотаvoidПустота

Объявление переменных

Вы уже знаете, как объявить целочисленную переменную:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *