Константы
Как описано ниже, есть несколько видов констант. Здесь приводится краткая сводка аппаратных характеристик, которые влияют на их размеры.
Целые константы
Целая константа, состоящая из последовательности цифр, считается восьмеричной, если она начинается с 0 (цифры ноль), и десятичной в противном случае. Цифры 8 и 9 не являются восьмеричными цифрами. Последовательность цифр, которой предшествует 0х или 0Х, воспринимается как шестнадцатеричное целое. В шестнадцатеричные цифры входят буквы от а или А до f или F, имеющие значения от 10 до 15. Десятичная константа, значение которой превышает наибольшее машинное целое со знаком, считается длинной (long); восьмеричная и шестнадцатеричная константа, значение которой превышает наибольшее машинное целое со знаком, считается long; в остальных случаях целые константы считаются int.
Явно заданные длинные константы
Десятичная, восьмеричная или шестнадцатеричная константа, за которой непосредственно стоит l (латинская буква "эль") или L, считается длинной константой.
Символьные константы
Символьная константа состоит из символа, заключенного в одиночные кавычки (апострофы), как, например, "х". Значением символьной константы является численное значение символа в машинном наборе символов (алфавите). Символьные константы считаются данными типа int.
Некоторые неграфические символы, одиночная кавычка " и обратная косая \, могут быть представлены в соответствие со следующей таблицей escape-последовательностей:
символ новой строки | NL(LF) | \n | горизонтальная табуляция | NT | \t | вертикальная табуляция | VT | \v | возврат на шаг | BS | \b | возврат каретки | CR | \r | перевод формата | FF | \f | обратная косая | \ | \\ | одиночная кавычка (апостроф) | " | \" | набор битов | 0ddd | \ddd | набор битов | 0xddd | \xddd |
Escape-последовательность \ddd состоит из обратной косой, за которой следуют 1, 2 или 3 восьмеричных цифры, задающие значение требуемого символа. Специальным случаем такой конструкции является \0 (не следует ни одной цифры), задающая пустой символ NULL. Escape-последовательность \xddd состоит из обратной косой, за которой следуют 1, 2 или 3 шестнадцатеричных цифры, задающие значение требуемого символа. Если следующий за обратной косой символ не является одним из перечисленных, то обратная косая игнорируется.
Константы с плавающей точкой
Константа с плавающей точкой состоит из целой части, десятичной точки, мантиссы, е или Е и целого показателя степени (возможно, но не обязательно, со знаком). Целая часть и мантисса обе состоят из последовательности цифр. Целая часть или мантисса (но не обе сразу) может быть опущена; или десятичная точка, или е(Е) вместе с целым показателем степени (но не обе части одновременно) может быть опущена. Константа с плавающей точкой имеет тип double.
Перечислимые константы
Имена, описанные как перечислители, (см. этот пункт) являются константами типа int.
Описанные константы
Объект (cм. тут) любого типа может быть определен как имеющий постоянное значение во всей области видимости (cм. этот раздел) его имени. В случае указателей для достижения этого используется декларатор *const; для объектов, не являющихся указателями, используется описатель const (cм. этот раздел).
1 2 3
8 8 8
| |