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

Далее предстоит рассмотреть основные типы в СИ. Акцент предстоит сделать на int – он встречается в разработке чаще остальных. Необходимо разобраться в системе типов, их непосредственных видах и особенностях каждого. Информация, представленная далее, в большей степени ориентирована на начинающих программистов.

Термины и определения

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

  1. Алгоритм – некоторый набор инструкций. Он используется для того, чтобы решать поставленные задачи или их спектр.
  2. Аргументы – значения, которые будут передаваться в функции или команды.
  3. Булево – выражение, которое используется для создания операторов со значениями «истина» и «ложь» (true и false соответственно).
  4. Символ (char) – простейшая единица отображения информации. Она равна одной буквенной записи или символу.
  5. Объект – комбинация некоторых связанных переменных, констант и иных структурных единиц. Соответствующие элементы могут быть выбраны и обработаны совместно.
  6. Класс – связанные объекты с одними и теми же свойствами.
  7. Константа (const) – значение, которое никогда не меняется по мере изменения жизненного цикла программы.
  8. Тип данных – классификация информации определенного типа.
  9. Массив – списки или группы схожих типов значений данных, которые предварительно были сгруппированы. Все компоненты в пределах массива обладают одним и тем же видом, отличая только по местоположению.
  10. Ключевые слова – слова, которые синтаксис языка зарезервировал для выполнения функций, команд и иных действий.
  11. Операнд – объект, которым можно управлять через операторы.
  12. Оператор – объект, который умеет манипулировать разными операндами.
  13. Переменная – место хранения данных в программе. Информация, помещенная в переменную (не только int, но и другого вида), может изменяться, сохраняться, а также выводиться на консоль.
  14. Указатель – переменная, содержащая адрес места в памяти.

Теперь можно более подробно изучить типы переменных в упомянутом языке. А еще – разобраться с тем, что они обозначают и как обрабатываются.

О переменных

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

Переменная – это именованная ячейка памяти, выделенная системой. Она помогает хранить, обрабатывать и извлекать те или иные данные. Рассматривается в качестве имени, присвоенного ячейке памяти для того, чтобы по мере надобности разработчик мог ссылаться на нее.

Форма синтаксиса:

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

Тут:

  • data type – тип переменной (виды информации, которые может хранить соответствующий компонент);
  • variable name – «название» переменной, которое было задано программистом заранее;
  • value – значение, которое было присвоено переменной в СИ.

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

Правила присваивания имен

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

Здесь рекомендуется запомнить следующие правила:

  1. Имя может содержать только буквы, цифры и символ подчеркивания.
  2. «Название» должно начинаться только с символа нижнего подчеркивания или алфавита. С цифры никогда не пишется.
  3. Использование пробелов не допускается. Условные правила и принципы разработки предлагают каждое новое слово по мере необходимости указывать или с заглавной буквы, или через символ нижнего подчеркивания.

Еще один момент, на который необходимо обратить внимание – это то, что именем упомянутого компонента кода не может выступать зарезервированное системой слово (ключевое слово) или фраза аналогичного типа.

Единицы измерения информации

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

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

В информатике и IT существуют различные виды измерения объема информации. «Классически» она представлена в байтах. В них переводятся даже самые крупные компоненты.

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

  • 1 байт = 8 бит;
  • 1 килобайт = 1024 в байтах;
  • 1 мегабайт = 1 000 000 байт;
  • 1 гигабайт = 1 000 000 000 000 байт.

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

Основные типы в C

C – язык разработки, который имеет множество типов. Каждый вариант поддерживает свой собственный размер и спектр доступных операций.  Задание типа переменной производится при помощи специальных ключевых слов. Они будут меняться в зависимости от ситуации.

Изначально в C представлены основные арифметические типы – целые (int) и вещественные. Также у языка поддерживается синтаксис для выстраивания массивов информации и составных типов.

Заголовки для стандартной библиотеки C, которая будет применяться посредством директивы include stdio, включает в себя определения поддерживаемых видов информации с дополнительными свойствами. К ним относят предоставление хранилища точного размера, независимо от задействованного языка, а также реализации на конкретных платформах.

Базовые

У C поддерживаются несколько основных арифметических спецификаторов (data types). К ним относят char, int, float и double. Для уточнения размера (size) компонента применяются спецификаторы signed, short, long, unsigned.

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

Data type (вид информации)Характеристика и описаниеМинимальный размер (sizes)Описатель используемого формата
CharСамая простая единица информации на устройстве. Может называться как character. Целочисленный тип. Может быть как со знаком, так и без него.8 бит%c
Signed charТо же самое, что и char но гарантировано со знаком. Диапазон значений – от -127 до 127%c или %hhi (для числового вывода)
Unsigned charТо же самое, что и characters, но точно без знака. Диапазон значений – от 0 до 255 включительно.%c или %hhu
shortshort intsigned shortsigned short intВстроенные короткие знаковые целочисленные. Минимальный диапазон – -32 767 и до 32 76716 бит или 2 байта%hi или %hd
unsigned shortunsigned short int (integer)Целое число без знака. Включает в себя диапазон от 0 до 65 535%hu
int (integers)signedsigned intВстроенные целочисленные со знаком диапазон – от -32 767 до 32 767%i или %d
unsignedunsigned intВстроенные целочисленные без знаков. Диапазон – как и у short%u
longlong intsigned longsigned long intДлинный целочисленный тип со знаком. Принимает значение от – 2 147 483 647 до 2 147 483 647.32 бит или 4 байта%li или %ld
unsigned longunsigned long intДлинный целочисленный без знака. Включает в себя диапазон от 0 до 4 294 967 295.%lu
long longlong long intsigned long longsigned long long intДлинный целочисленный вид. Задан размерностью от -9 223 372 036 854 775 807 до 9 223 372 036 854 775 807.64 бит.%lli или %lld
unsigned long longunsigned long long int (integer)Длинный длинный целочисленный. Принимает значение от 0 до 18 446 744 073 709 551 615.%llu
floatFloating – это число с плавающей точкой. Реальный type. Называется «с плавающей запятой одинарной точности». Фактические свойства не указаны. В большинстве система представлен двоичным форматом с плавающей запятой одинарной точности IEEE 754 (32 бита) .%f%F%g%G%e%E%a%A
doubleВ отличие от int представляет собой действительный вид информации с плавающей запятой. Это type с запятой «двойной точности».%lf%lF%lg%lG%le%lE%la%lA
long doubleДействительный вид с плавающей запятой расширенной точности.

Изучая int, char, float и другие виды информации, необходимо в первую очередь запомнить обозначение «встроенных базовых» вариантов. В них integer (int) является самым распространенным.

Также стоит помнить, что у каждого размера типа имеется собственный «минимальный объем». Это количество памяти, которое всегда будет выделяться для того или иного вида информации. Пример – размер short int – 16 бит, char – 8 бит, long –32 бита.

Логический

В разработке программного обеспечения, начиная с C99, добавлен type _Bool. Он называется логическим и отличается от int a и других ранее изученных видов. Принимает значение true или false. С другими «параметрами» не работает.

Заголовок определяет bool как удобный псевдоним для international обозначения, предоставляет макросы для true и false. Работает точно также, как и обычный целочисленный (int x) тип переменных, но любые присвоения _Bool, которые отличаются от 0 (логической лжи, false), будут сохраняться как 1 (истина, true). Подобные преобразования помогают работать с «неявными трансформациями».

Целые фиксированной длины

В стандарте C99 присутствуют не только обычные int d в C, но и фиксированной длины. Они используются для повышения переносимости программ и на практике применяются преимущественно опытными разработчиками.

Новые типы переменных (фиксированной длины) получили широкое применение во встраиваемых системах. Они определены в заголовочном файле inttypes.h, доступны в stdint.h. Разделяются на int (целые):

  • с точно заданным размером N бит в любой реализации;
  • наименьшие, размер которых минимален в реализации;
  • наибыстрейшие, которые гарантированно работают быстрее остальных в заданной реализации;
  • для указателей, которые точно хранят адрес в памяти (активируются, только если являются доступными на имеющейся платформе);
  • наибольшие, размер которых выступает самым большим в реализации.
Типы данных в C

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

Теперь понятно, какие data types в основном используются упомянутым языком программирования. Чтобы лучше работать с int и другими «форматами», рекомендуется закончить дистанционные компьютерные курсы. На них с нуля обучат разрабатывать сложные проекты, а также грамотно использовать память на устройстве, встроенные в ЯП инструменты и функции, переменные и фреймворки.

P. S. Интересует разработка? Обратите внимание на курс «Программист C». Также в Otus доступно множество других современных курсов.