Реклама, маркетинг, PR и технологии

Программирование на языке C. Символьный тип

Для работы с символами и строками предназначен символьный тип char. Переменные этого типа занимают в памяти байт и этого как раз достаточно, чтобы хранить номер символа в стандартной для всех моделей PC таблице символов ASCII. Таким образом, в памяти компьютера все символы хранятся как числа, что облегчает работу с ними.
Использование отдельных символов
Итак, переменные типа char могут запоминать небольшие значения в диапазоне от -128 до +127. Например, объявление char с = 'S';
инициализирует переменную с типа char ASCII-значением символа S (равным 83). Односимвольные константы заключаются в апострофы (одинарные кавычки).
Данный код отображает символы в различных форматах.
#include <stdio.h>

main ()
{
char сvb;

printf("Enter character: ");
сvb = getchar();
printf("Character = %cn", cvb);
printf("ASCII (dec) = %dn", cvb);
printf("ASCII (hex) = %#xn", cvb);
return 0;
}
В строке 5 объявляется переменная типа char. В строке 8 вызывается описанная в файле stdio.h библиотечная функция getchar() для чтения символа с клавиатуры. Функция ждет, пока вы не нажмете на символ и на <Enter>, затем возвращает значение символа, присвоенное здесь переменной сvb. После этого три оператора printf() отображают значение переменной в символьном (%с), десятичном (%d) и шестнадцатеричном (%#х) форматах.
Поскольку литеральные символы хранятся в памяти как значения int, а не как char, что можно было бы предположить, вы можете заменить строку 5 на
int сvb;
после чего программа продолжает прекрасно работать. Действительно, многие библиотечные функции (и многие программы) разработаны в расчете на сохранение одиночных символов как значений int - это дань ранним версиям языка С.

Интересные статьи

ИТ-аутсорсинг

Интересные статьи | (Закрыть)