Вы вошли на сайт, как Гость
Регистрация

Типы данных в Си

Основы языка Си
(Типы данных в Си)

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

Область памяти, отводимая для хранения объекта типа char, всегда составляет один байт. Размер области памяти, отводимой для хранения объектов int и long, определяется типом используемого компилятора. Как правило, int – машинное слово длиною в 16 бит, long двойное машинное слово, т.е. 32 бита. Формат и размер области памяти объектов float и double также зависит от типа используемого компилятора. Служебные слово unsigned (без знака) используется вместе с целочисленными типами. Указание служебного слова unsigned перед спецификацией типа целочисленного значения определяет использование его старшего разряда. Для целых чисел со знаком старший разряд используется для хранения знака, что приводит к сужению диапазона модуля допустимых значений. В целых числах без знака старший разряд используется как дополнительный разряд числа, следовательно, диапазон допустимых значений расширяется. По умолчанию, т.е. без указания служебного слова unsigned, переменные типа char, int и long всегда считаются знаковыми. Числа в формате с плавающей запятой типов float и double также всегда знаковые.

В сочетании со спецификацией типа int возможно применение служебного слова short (короткий). Служебное слово short используется для сужения типа int до «короткого» целого. Применение служебного слова short имеет смысл, когда длина машинного слова микроконтроллера составляет четыре и более байтов. В этом случае спецификация типа short int соответствует целому числу, разрядностью в половину машинного слова. В случаях, когда машинное слово составляет два байта, спецификации типов int и short int совпадают. В некоторых компиляторах языка Си разрешается опускать слово int в спецификации типа short int и использовать одно слово short. Слово long, обозначающее целое число, соответствующее двойному машинному слову, является таким же служебным словом как unsigned и применяется перед спецификацией типа int для его расширения до «длинного» целого (до двойного машинного слова). Однако в языке Си разрешается опускать слово int в спецификации типа long int и использовать одно слово long.