Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Типы, операторы и выражения


Технически, цепную константа - это массив знаков. Внутреннее представление цепочки включает нулевой знак '\ 0' в конце, поэтому физическое место хранения требует на один больше символов, чем те, которые находятся в двойных кавычках. Этот способ представления означает, что нет ограничения длины цепочки, но программы полностью должен просканировать цепочку, чтобы определить его длину. Функция стандартной библиотеки strlen (s) возвращает длину своего аргумента, символьного цепочки s, за исключением конечного '\ 0'. Вот наша версия этой функции:
/ * Strlen: возвращает длину s * /

int strlen (char s [])
{
int i;

while (s [i]! = '\ 0')
+ + I;
return i;
}

strlen и другие цепочке функции объявлены в стаvндартному файле заголовка .

Будьте осторожны, чтобы суметь отличить символьную константу от цепочки, содержащей один знак: 'x' - это не то же, что "x". Первое - это целое число, которое используется для получения числового значения буквы x в машинном наборе символов. Второе - массив символов, содержащий единственный знак (букву x) и '\ 0'.

Существует еще один вид постоянных - константы перечня. Перечень - это список постоянных целых значений, например
enum boolean {NO, YES};


Первое название типа enum наберет значение 0, следующая - 1, и так далее, разве что был задан явные значения. Если не все значения указано явно, тогда те, которые не задано, будут продолжать прогрессию от последнего заданного, как показано в следующих примерах:
enum escapes {BELL = '\ a', BACKSPACE = '\ b', TAB = '\ t',
NEWLINE = '\ n', VTAB = '\ v', RETURN = '\ r'};

enum months {JAN = 1, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC};
/ * FEB = 2, MAR = 3, etc. * /

Названия в разных списках должны отличаться. Значения не обязательно должны отличаться в том же списке.

Перечни предоставляют удобный способ связывания постоянных значений с названиями, как альтернатива # define за исключением того, что значение может быть автоматически генерируемые для вас. Даже если переменные типа enum объявлено, компиляторы не обязаны проверять, что то, что вы сохранили в такой переменной является действующим значением для перечня. Несмотря на это, сменные перечня обеспечивают возможностью проверки, поэтому часто это лучше чем # define. В дополнение, отладчик может вывести значения переменных перечня в их символической форме.

Другие статьи по теме:

- Символьные массивы
- Функции и структура программ
- Типы, операторы и выражения
- Внешние переменные и область действия
- Введение в c++


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами