HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Термины и определения</a></li>
1 <ul><li><a>Термины и определения</a></li>
2 <li><a>О переменных</a><ul><li><a>Правила присваивания имен</a></li>
2 <li><a>О переменных</a><ul><li><a>Правила присваивания имен</a></li>
3 </ul></li>
3 </ul></li>
4 <li><a>Единицы измерения информации</a></li>
4 <li><a>Единицы измерения информации</a></li>
5 <li><a>Основные типы в C</a><ul><li><a>Базовые</a></li>
5 <li><a>Основные типы в C</a><ul><li><a>Базовые</a></li>
6 <li><a>Логический</a></li>
6 <li><a>Логический</a></li>
7 <li><a>Целые фиксированной длины</a></li>
7 <li><a>Целые фиксированной длины</a></li>
8 </ul></li>
8 </ul></li>
9 </ul><p>Язык программирования СИ имеет достаточно понятную структуру и поддерживает разнообразные типы данных и переменных. Если тип определен неверно, не исключены проблемы.</p>
9 </ul><p>Язык программирования СИ имеет достаточно понятную структуру и поддерживает разнообразные типы данных и переменных. Если тип определен неверно, не исключены проблемы.</p>
10 <p>Далее предстоит рассмотреть основные типы в СИ. Акцент предстоит сделать на int - он встречается в разработке чаще остальных. Необходимо разобраться в системе типов, их непосредственных видах и особенностях каждого. Информация, представленная далее, в большей степени ориентирована на начинающих программистов.</p>
10 <p>Далее предстоит рассмотреть основные типы в СИ. Акцент предстоит сделать на int - он встречается в разработке чаще остальных. Необходимо разобраться в системе типов, их непосредственных видах и особенностях каждого. Информация, представленная далее, в большей степени ориентирована на начинающих программистов.</p>
11 <h2>Термины и определения</h2>
11 <h2>Термины и определения</h2>
12 <p>Перед изучением того, какие виды переменных поддерживаются в СИ, каждый программист должен запомнить несколько ключевых терминов. Они пригодятся всем разработчикам, имеющим дело с объектно-ориентированными языками:</p>
12 <p>Перед изучением того, какие виды переменных поддерживаются в СИ, каждый программист должен запомнить несколько ключевых терминов. Они пригодятся всем разработчикам, имеющим дело с объектно-ориентированными языками:</p>
13 <ol><li>Алгоритм - некоторый набор инструкций. Он используется для того, чтобы решать поставленные задачи или их спектр.</li>
13 <ol><li>Алгоритм - некоторый набор инструкций. Он используется для того, чтобы решать поставленные задачи или их спектр.</li>
14 <li>Аргументы - значения, которые будут передаваться в функции или команды.</li>
14 <li>Аргументы - значения, которые будут передаваться в функции или команды.</li>
15 <li>Булево - выражение, которое используется для создания операторов со значениями "истина" и "ложь" (true и false соответственно).</li>
15 <li>Булево - выражение, которое используется для создания операторов со значениями "истина" и "ложь" (true и false соответственно).</li>
16 <li>Символ (char) - простейшая единица отображения информации. Она равна одной буквенной записи или символу.</li>
16 <li>Символ (char) - простейшая единица отображения информации. Она равна одной буквенной записи или символу.</li>
17 <li>Объект - комбинация некоторых связанных переменных, констант и иных структурных единиц. Соответствующие элементы могут быть выбраны и обработаны совместно.</li>
17 <li>Объект - комбинация некоторых связанных переменных, констант и иных структурных единиц. Соответствующие элементы могут быть выбраны и обработаны совместно.</li>
18 <li>Класс - связанные объекты с одними и теми же свойствами.</li>
18 <li>Класс - связанные объекты с одними и теми же свойствами.</li>
19 <li>Константа (const) - значение, которое никогда не меняется по мере изменения жизненного цикла программы.</li>
19 <li>Константа (const) - значение, которое никогда не меняется по мере изменения жизненного цикла программы.</li>
20 <li>Тип данных - классификация информации определенного типа.</li>
20 <li>Тип данных - классификация информации определенного типа.</li>
21 <li>Массив - списки или группы схожих типов значений данных, которые предварительно были сгруппированы. Все компоненты в пределах массива обладают одним и тем же видом, отличая только по местоположению.</li>
21 <li>Массив - списки или группы схожих типов значений данных, которые предварительно были сгруппированы. Все компоненты в пределах массива обладают одним и тем же видом, отличая только по местоположению.</li>
22 <li>Ключевые слова - слова, которые синтаксис языка зарезервировал для выполнения функций, команд и иных действий.</li>
22 <li>Ключевые слова - слова, которые синтаксис языка зарезервировал для выполнения функций, команд и иных действий.</li>
23 <li>Операнд - объект, которым можно управлять через операторы.</li>
23 <li>Операнд - объект, которым можно управлять через операторы.</li>
24 <li>Оператор - объект, который умеет манипулировать разными операндами.</li>
24 <li>Оператор - объект, который умеет манипулировать разными операндами.</li>
25 <li>Переменная - место хранения данных в программе. Информация, помещенная в переменную (не только int, но и другого вида), может изменяться, сохраняться, а также выводиться на консоль.</li>
25 <li>Переменная - место хранения данных в программе. Информация, помещенная в переменную (не только int, но и другого вида), может изменяться, сохраняться, а также выводиться на консоль.</li>
26 <li>Указатель - переменная, содержащая адрес места в памяти.</li>
26 <li>Указатель - переменная, содержащая адрес места в памяти.</li>
27 </ol><p>Теперь можно более подробно изучить типы переменных в упомянутом языке. А еще - разобраться с тем, что они обозначают и как обрабатываются.</p>
27 </ol><p>Теперь можно более подробно изучить типы переменных в упомянутом языке. А еще - разобраться с тем, что они обозначают и как обрабатываются.</p>
28 <h2>О переменных</h2>
28 <h2>О переменных</h2>
29 <p>Разновидности типов в СИ можно полноценно освоить только после того, как программист познакомился с переменными. Без них не может существовать ни одна программа.</p>
29 <p>Разновидности типов в СИ можно полноценно освоить только после того, как программист познакомился с переменными. Без них не может существовать ни одна программа.</p>
30 <p>Переменная - это именованная ячейка памяти, выделенная системой. Она помогает хранить, обрабатывать и извлекать те или иные данные. Рассматривается в качестве имени, присвоенного ячейке памяти для того, чтобы по мере надобности разработчик мог ссылаться на нее.</p>
30 <p>Переменная - это именованная ячейка памяти, выделенная системой. Она помогает хранить, обрабатывать и извлекать те или иные данные. Рассматривается в качестве имени, присвоенного ячейке памяти для того, чтобы по мере надобности разработчик мог ссылаться на нее.</p>
31 <p>Форма синтаксиса:</p>
31 <p>Форма синтаксиса:</p>
32 <p>Тут:</p>
32 <p>Тут:</p>
33 <ul><li>data type - тип переменной (виды информации, которые может хранить соответствующий компонент);</li>
33 <ul><li>data type - тип переменной (виды информации, которые может хранить соответствующий компонент);</li>
34 <li>variable name - "название" переменной, которое было задано программистом заранее;</li>
34 <li>variable name - "название" переменной, которое было задано программистом заранее;</li>
35 <li>value - значение, которое было присвоено переменной в СИ.</li>
35 <li>value - значение, которое было присвоено переменной в СИ.</li>
36 </ul><p>У соответствующего элемента имеются три аспекта определения: объявление, определение и инициализация.</p>
36 </ul><p>У соответствующего элемента имеются три аспекта определения: объявление, определение и инициализация.</p>
37 <h3>Правила присваивания имен</h3>
37 <h3>Правила присваивания имен</h3>
38 <p>Рассматривая типы переменных в ранее упомянутом языке, их размер и другие особенности обработки, каждый программист сначала должен научиться управляться с "именованными ячейками памяти". Важную роль в подобном процессе играет присваивание имени. Если оно будет выполнено с ошибками, задать int или иную "именованную ячейку" не получится.</p>
38 <p>Рассматривая типы переменных в ранее упомянутом языке, их размер и другие особенности обработки, каждый программист сначала должен научиться управляться с "именованными ячейками памяти". Важную роль в подобном процессе играет присваивание имени. Если оно будет выполнено с ошибками, задать int или иную "именованную ячейку" не получится.</p>
39 <p>Здесь рекомендуется запомнить следующие правила:</p>
39 <p>Здесь рекомендуется запомнить следующие правила:</p>
40 <ol><li>Имя может содержать только буквы, цифры и символ подчеркивания.</li>
40 <ol><li>Имя может содержать только буквы, цифры и символ подчеркивания.</li>
41 <li>"Название" должно начинаться только с символа нижнего подчеркивания или алфавита. С цифры никогда не пишется.</li>
41 <li>"Название" должно начинаться только с символа нижнего подчеркивания или алфавита. С цифры никогда не пишется.</li>
42 <li>Использование пробелов не допускается. Условные правила и принципы разработки предлагают каждое новое слово по мере необходимости указывать или с заглавной буквы, или через символ нижнего подчеркивания.</li>
42 <li>Использование пробелов не допускается. Условные правила и принципы разработки предлагают каждое новое слово по мере необходимости указывать или с заглавной буквы, или через символ нижнего подчеркивания.</li>
43 </ol><p>Еще один момент, на который необходимо обратить внимание - это то, что именем упомянутого компонента кода не может выступать зарезервированное системой слово (ключевое слово) или фраза аналогичного типа.</p>
43 </ol><p>Еще один момент, на который необходимо обратить внимание - это то, что именем упомянутого компонента кода не может выступать зарезервированное системой слово (ключевое слово) или фраза аналогичного типа.</p>
44 <h2>Единицы измерения информации</h2>
44 <h2>Единицы измерения информации</h2>
45 <p>Изучая типы переменных в C, а также их размер для того или иного случая, нужно также хорошо разбираться в единицах измерения информации.</p>
45 <p>Изучая типы переменных в C, а также их размер для того или иного случая, нужно также хорошо разбираться в единицах измерения информации.</p>
46 <p>Информация - это сведения об окружающем мире, которые выступают в качестве объекта преобразования. Используются для выработки поведения, принятия решений, обучения или управления. Может быть представлена различными типами. Примеры - видео, аудио, электронный текст и так далее.</p>
46 <p>Информация - это сведения об окружающем мире, которые выступают в качестве объекта преобразования. Используются для выработки поведения, принятия решений, обучения или управления. Может быть представлена различными типами. Примеры - видео, аудио, электронный текст и так далее.</p>
47 <p>В информатике и IT существуют различные виды измерения объема информации. "Классически" она представлена в байтах. В них переводятся даже самые крупные компоненты.</p>
47 <p>В информатике и IT существуют различные виды измерения объема информации. "Классически" она представлена в байтах. В них переводятся даже самые крупные компоненты.</p>
48 <p>В байтах представляется восьмиразрядный двоичный код. Им представляется один символ:</p>
48 <p>В байтах представляется восьмиразрядный двоичный код. Им представляется один символ:</p>
49 <ul><li>1 байт = 8 бит;</li>
49 <ul><li>1 байт = 8 бит;</li>
50 <li>1 килобайт = 1024 в байтах;</li>
50 <li>1 килобайт = 1024 в байтах;</li>
51 <li>1 мегабайт = 1 000 000 байт;</li>
51 <li>1 мегабайт = 1 000 000 байт;</li>
52 <li>1 гигабайт = 1 000 000 000 000 байт.</li>
52 <li>1 гигабайт = 1 000 000 000 000 байт.</li>
53 </ul><p>Рассматривая int и другие типы информации, разработчику предстоит иметь дело именно с байтами. Остальные единицы измерения поддерживаются, но не используются языком и операционными системами.</p>
53 </ul><p>Рассматривая int и другие типы информации, разработчику предстоит иметь дело именно с байтами. Остальные единицы измерения поддерживаются, но не используются языком и операционными системами.</p>
54 <p>C - язык разработки, который имеет множество типов. Каждый вариант поддерживает свой собственный размер и спектр доступных операций. Задание типа переменной производится при помощи специальных ключевых слов. Они будут меняться в зависимости от ситуации.</p>
54 <p>C - язык разработки, который имеет множество типов. Каждый вариант поддерживает свой собственный размер и спектр доступных операций. Задание типа переменной производится при помощи специальных ключевых слов. Они будут меняться в зависимости от ситуации.</p>
55 <p>Изначально в C представлены основные арифметические типы - целые (int) и вещественные. Также у языка поддерживается синтаксис для выстраивания массивов информации и составных типов.</p>
55 <p>Изначально в C представлены основные арифметические типы - целые (int) и вещественные. Также у языка поддерживается синтаксис для выстраивания массивов информации и составных типов.</p>
56 <p>Заголовки для стандартной библиотеки C, которая будет применяться посредством директивы include stdio, включает в себя определения поддерживаемых видов информации с дополнительными свойствами. К ним относят предоставление хранилища точного размера, независимо от задействованного языка, а также реализации на конкретных платформах.</p>
56 <p>Заголовки для стандартной библиотеки C, которая будет применяться посредством директивы include stdio, включает в себя определения поддерживаемых видов информации с дополнительными свойствами. К ним относят предоставление хранилища точного размера, независимо от задействованного языка, а также реализации на конкретных платформах.</p>
57 <h3>Базовые</h3>
57 <h3>Базовые</h3>
58 <p>У C поддерживаются несколько основных арифметических спецификаторов (data types). К ним относят char, int, float и double. Для уточнения размера (size) компонента применяются спецификаторы signed, short, long, unsigned.</p>
58 <p>У C поддерживаются несколько основных арифметических спецификаторов (data types). К ним относят char, int, float и double. Для уточнения размера (size) компонента применяются спецификаторы signed, short, long, unsigned.</p>
59 <p>Ниже представлена таблица, объясняющая обозначение каждого вида информации, символьное обозначение в программном коде, диапазон принимаемых параметров и иные их особенности:</p>
59 <p>Ниже представлена таблица, объясняющая обозначение каждого вида информации, символьное обозначение в программном коде, диапазон принимаемых параметров и иные их особенности:</p>
60 Data type (вид информации)Характеристика и описаниеМинимальный размер (sizes)Описатель используемого форматаCharСамая простая единица информации на устройстве. Может называться как character. Целочисленный тип. Может быть как со знаком, так и без него.8 бит%cSigned charТо же самое, что и char но гарантировано со знаком. Диапазон значений - от -127 до 127%c или %hhi (для числового вывода)Unsigned charТо же самое, что и characters, но точно без знака. Диапазон значений - от 0 до 255 включительно.%c или %hhushortshort intsigned shortsigned short intВстроенные короткие знаковые целочисленные. Минимальный диапазон - -32 767 и до 32 76716 бит или 2 байта%hi или %hdunsigned shortunsigned short int (integer)Целое число без знака. Включает в себя диапазон от 0 до 65 535%huint (integers)signedsigned intВстроенные целочисленные со знаком диапазон - от -32 767 до 32 767%i или %dunsignedunsigned intВстроенные целочисленные без знаков. Диапазон - как и у short%ulonglong intsigned longsigned long intДлинный целочисленный тип со знаком. Принимает значение от - 2 147 483 647 до 2 147 483 647.32 бит или 4 байта%li или %ldunsigned longunsigned long intДлинный целочисленный без знака. Включает в себя диапазон от 0 до 4 294 967 295.%lulong longlong long intsigned long longsigned long long intДлинный целочисленный вид. Задан размерностью от -9 223 372 036 854 775 807 до 9 223 372 036 854 775 807.64 бит.%lli или %lldunsigned long longunsigned long long int (integer)Длинный длинный целочисленный. Принимает значение от 0 до 18 446 744 073 709 551 615.%llufloatFloating - это число с плавающей точкой. Реальный type. Называется "с плавающей запятой одинарной точности". Фактические свойства не указаны. В большинстве система представлен двоичным форматом с плавающей запятой одинарной точности IEEE 754 (32 бита) .%f%F%g%G%e%E%a%AdoubleВ отличие от int представляет собой действительный вид информации с плавающей запятой. Это type с запятой "двойной точности".%lf%lF%lg%lG%le%lE%la%lAlong doubleДействительный вид с плавающей запятой расширенной точности.<p>Изучая int, char, float и другие виды информации, необходимо в первую очередь запомнить обозначение "встроенных базовых" вариантов. В них integer (int) является самым распространенным.</p>
60 Data type (вид информации)Характеристика и описаниеМинимальный размер (sizes)Описатель используемого форматаCharСамая простая единица информации на устройстве. Может называться как character. Целочисленный тип. Может быть как со знаком, так и без него.8 бит%cSigned charТо же самое, что и char но гарантировано со знаком. Диапазон значений - от -127 до 127%c или %hhi (для числового вывода)Unsigned charТо же самое, что и characters, но точно без знака. Диапазон значений - от 0 до 255 включительно.%c или %hhushortshort intsigned shortsigned short intВстроенные короткие знаковые целочисленные. Минимальный диапазон - -32 767 и до 32 76716 бит или 2 байта%hi или %hdunsigned shortunsigned short int (integer)Целое число без знака. Включает в себя диапазон от 0 до 65 535%huint (integers)signedsigned intВстроенные целочисленные со знаком диапазон - от -32 767 до 32 767%i или %dunsignedunsigned intВстроенные целочисленные без знаков. Диапазон - как и у short%ulonglong intsigned longsigned long intДлинный целочисленный тип со знаком. Принимает значение от - 2 147 483 647 до 2 147 483 647.32 бит или 4 байта%li или %ldunsigned longunsigned long intДлинный целочисленный без знака. Включает в себя диапазон от 0 до 4 294 967 295.%lulong longlong long intsigned long longsigned long long intДлинный целочисленный вид. Задан размерностью от -9 223 372 036 854 775 807 до 9 223 372 036 854 775 807.64 бит.%lli или %lldunsigned long longunsigned long long int (integer)Длинный длинный целочисленный. Принимает значение от 0 до 18 446 744 073 709 551 615.%llufloatFloating - это число с плавающей точкой. Реальный type. Называется "с плавающей запятой одинарной точности". Фактические свойства не указаны. В большинстве система представлен двоичным форматом с плавающей запятой одинарной точности IEEE 754 (32 бита) .%f%F%g%G%e%E%a%AdoubleВ отличие от int представляет собой действительный вид информации с плавающей запятой. Это type с запятой "двойной точности".%lf%lF%lg%lG%le%lE%la%lAlong doubleДействительный вид с плавающей запятой расширенной точности.<p>Изучая int, char, float и другие виды информации, необходимо в первую очередь запомнить обозначение "встроенных базовых" вариантов. В них integer (int) является самым распространенным.</p>
61 <p>Также стоит помнить, что у каждого размера типа имеется собственный "минимальный объем". Это количество памяти, которое всегда будет выделяться для того или иного вида информации. Пример - размер short int - 16 бит, char - 8 бит, long -32 бита.</p>
61 <p>Также стоит помнить, что у каждого размера типа имеется собственный "минимальный объем". Это количество памяти, которое всегда будет выделяться для того или иного вида информации. Пример - размер short int - 16 бит, char - 8 бит, long -32 бита.</p>
62 <h3>Логический</h3>
62 <h3>Логический</h3>
63 <p>В разработке программного обеспечения, начиная с C99, добавлен type _Bool. Он называется логическим и отличается от int a и других ранее изученных видов. Принимает значение true или false. С другими "параметрами" не работает.</p>
63 <p>В разработке программного обеспечения, начиная с C99, добавлен type _Bool. Он называется логическим и отличается от int a и других ранее изученных видов. Принимает значение true или false. С другими "параметрами" не работает.</p>
64 <p>Заголовок определяет bool как удобный псевдоним для international обозначения, предоставляет макросы для true и false. Работает точно также, как и обычный целочисленный (int x) тип переменных, но любые присвоения _Bool, которые отличаются от 0 (логической лжи, false), будут сохраняться как 1 (истина, true). Подобные преобразования помогают работать с "неявными трансформациями".</p>
64 <p>Заголовок определяет bool как удобный псевдоним для international обозначения, предоставляет макросы для true и false. Работает точно также, как и обычный целочисленный (int x) тип переменных, но любые присвоения _Bool, которые отличаются от 0 (логической лжи, false), будут сохраняться как 1 (истина, true). Подобные преобразования помогают работать с "неявными трансформациями".</p>
65 <h3>Целые фиксированной длины</h3>
65 <h3>Целые фиксированной длины</h3>
66 <p>В стандарте C99 присутствуют не только обычные int d в C, но и фиксированной длины. Они используются для повышения переносимости программ и на практике применяются преимущественно опытными разработчиками.</p>
66 <p>В стандарте C99 присутствуют не только обычные int d в C, но и фиксированной длины. Они используются для повышения переносимости программ и на практике применяются преимущественно опытными разработчиками.</p>
67 <p>Новые типы переменных (фиксированной длины) получили широкое применение во встраиваемых системах. Они определены в заголовочном файле inttypes.h, доступны в stdint.h. Разделяются на int (целые):</p>
67 <p>Новые типы переменных (фиксированной длины) получили широкое применение во встраиваемых системах. Они определены в заголовочном файле inttypes.h, доступны в stdint.h. Разделяются на int (целые):</p>
68 <ul><li>с точно заданным размером N бит в любой реализации;</li>
68 <ul><li>с точно заданным размером N бит в любой реализации;</li>
69 <li>наименьшие, размер которых минимален в реализации;</li>
69 <li>наименьшие, размер которых минимален в реализации;</li>
70 <li>наибыстрейшие, которые гарантированно работают быстрее остальных в заданной реализации;</li>
70 <li>наибыстрейшие, которые гарантированно работают быстрее остальных в заданной реализации;</li>
71 <li>для указателей, которые точно хранят адрес в памяти (активируются, только если являются доступными на имеющейся платформе);</li>
71 <li>для указателей, которые точно хранят адрес в памяти (активируются, только если являются доступными на имеющейся платформе);</li>
72 <li>наибольшие, размер которых выступает самым большим в реализации.</li>
72 <li>наибольшие, размер которых выступает самым большим в реализации.</li>
73 </ul><p>Выше представлена таблица, которая поможет разобраться в соответствующей категории переменных в C.</p>
73 </ul><p>Выше представлена таблица, которая поможет разобраться в соответствующей категории переменных в C.</p>
74 <p>Теперь понятно, какие data types в основном используются упомянутым языком программирования. Чтобы лучше работать с int и другими "форматами", рекомендуется закончить дистанционные компьютерные курсы. На них с нуля обучат разрабатывать сложные проекты, а также грамотно использовать память на устройстве, встроенные в ЯП инструменты и функции, переменные и фреймворки.</p>
74 <p>Теперь понятно, какие data types в основном используются упомянутым языком программирования. Чтобы лучше работать с int и другими "форматами", рекомендуется закончить дистанционные компьютерные курсы. На них с нуля обучат разрабатывать сложные проекты, а также грамотно использовать память на устройстве, встроенные в ЯП инструменты и функции, переменные и фреймворки.</p>
75 <p>P. S. Интересует разработка? Обратите внимание на <a>курс "Программист C"</a>. Также<em>в <a>Otus</a></em>доступно множество других современных курсов.</p>
75 <p>P. S. Интересует разработка? Обратите внимание на <a>курс "Программист C"</a>. Также<em>в <a>Otus</a></em>доступно множество других современных курсов.</p>
76  
76