Найти в Дзене
D21nk Master

Магия чисел си

Ранее мы с вами познакомились с функцией printf.Сегодня узнаем про типы данных char.Но сначала узнаем что же такое переменная.

Переменная,вы наверняка уже слышали это слово на уроках математики,но практика показала что лучше познакомиться с ними снова.Вся суть переменных заключена в их же наименовании: переменять,мы можем переменять значения в них как хотим.Допустим у нас есть переменная x=1,мы взяли и захотели изменить её значение,x=2,теперь обращаясь к x мы знаем,что сейчас там 2,но мы в любой момент можем это изменить.

Перед знакомством с новым типом данных разберёмся что же это вообще такое.Любой тип данных похож на контейнер,мы для примера можем взять различные коробки.В одну коробку могут поместиться от 0 до 255 предметов,в другую же от 0 до 65535 и так далее.

Иначе говоря тип данных-это контейнер,ограниченный максимальными значениями.Почему бы нам просто всегда не брать самый большой тип данных?Всё просто,если вы хотите быть хорошими программистами,которые сладко спят по ночам-вам лучше писать максимально компактные программы с минимальной потребляемой памятью.

Тип данных char (character),судя по переводу-он хранит символ.И да и нет.Как мы помним все данные,с которыми мы взаимодействуем так или иначе состоят из чисел,а любой символ закодирован своим уникальным кодом,если вы работаете под Linux-можете просмотреть все эти коды командой "man ascii",если под Windows-можете просмотреть здесь .

Данный тип данных занимает 1 байт и может принимать числа от -128 до 127,то есть включая 0 получается 256 значений.Но раз уж он называется char,почему бы там не хранить в нём вместо чисел символы? Действительно,а почему бы и нет? Давайте наконец узнаем как это можно сделать.

char (тип данных,который хотим использовать) name (имя переменной) = (это не равно,это оператор присвоения) 'A' (апострофами обозначается символ);(конец операции присвоения).Без комментариев выглядит так:

char name = 'A';

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

#include <stdio.h>

void main()

{

char name = 'A';

printf("%c\n",name); //опять что-то новое?!

}

Погодите-ка,что это с нашей функцией printf? Без паники,мы всего лишь применили форматированную печать,с помощью маркера %c мы говорим функции printf что хотим вывести нашу переменную как символ,но что же это за запятая? Всё просто,запятыми перечисляются аргументы функций,их же может быть больше чем один,как у нас.

Можете собрать эту программу и посмотреть на вывод нашего символа после запуска.

Форматированная печать на %c не заканчивается.Вот некоторые из них:

%c - character (символ)

%d - decimal (десятичная система счисления)

%o - octet (восьмеричная система счисления)

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

Домашнее задание для вас: создать разные переменные с разным форматированным выводом.Надеюсь материал усвоился,желаю успехов!

Хочешь читать весёлые и познавательные статьи раньше всех?Подписывайтся на мой телеграмм-канал.