i
l_b
h_b
a
Объединения
Объединения часто используются тогда, когда нужно выполнить специфическое преобразование типов, потому что хранящиеся в объединениях данные можно обозначить совершенно разными способами. Например, используя объединения, можно манипулировать байтами, составляющими значение типа double, и делать так, чтобы менять его точность или выполнять какое-либо необычное округление. Чтобы получить представление о полезности объединений в случаях, когда нужны нестандартные преобразования, подумайте над проблемой записи целых значений типа short в файл, который находится на диске.
Битовые поля – члены структуры или объединения
Битовые поля – члены структуры или объединения
Хотя для решения этих задач можно успешно применять побитовые операции, битовые поля могут придать Вашему коду больше упорядоченности (и, возможно, с их помощью удастся достичь большей эффективности). Битовое поле может быть членом структуры или объединения. Для доступа к битовым полям используются те же операторы, что и для полей структур и объединений: точки и стрелки. Нет необходимости давать имя каждому битовому полю. Нельзя получить адрес битового поля. Нет массивов битовых данных.
Битовые поля – члены структуры или объединения
0
0
3
Перечисление – набор именованных целых констант
Сначала с помощью шаблона задается перечислимый тип. Далее, как обычно, можно создавать переменные данного типа. Главное, что нужно знать для понимания перечислений – каждый их элемент представляет целое число. В таком виде элементы перечислений можно применять везде, где используются целые числа. Каждому элементу дается значение, на единицу больше, чем у его предшественника. Первый элемент перечисления имеет значение 0. Однако для некоторых элементов можно указать значение, используемое как инициализатор.
Перечисление – набор именованных целых констант
Средство typedef
Новые имена типов данных можно определять, используя ключевое слово typedef. На самом деле таким способом новый тип данных не создается, а всего лишь определяется новое имя для уже существующего типа. Этот процесс может помочь сделать машинно-зависимые программы сделать переносимыми. Общий вид декларации typedef такой: typedef тип новое_имя; где тип – любой тип данных языка С, а новое_имя – новое имя этого типа. Новое имя является дополнением к уже существующему, а не его заменой.
Файловый ввод-вывод
Потоки и файлы
В системе ввода-вывода С для программ поддерживается единый интерфейс, не зависящий от того, к какому конкретному устройству осуществляется доступ. То есть в системе между программой и устройством находится нечто более общее, чем само устройство. Такое обобщенное устройство ввода и вывода (устройство более высокого уровня абстракции) называется потоком, в то время как конкретное устройство называется файлом (впрочем, файл – тоже понятие абстрактное). Очень важно понимать, каким образом происходит взаимодействии потоков и файлов.
Потоки и файлы
Потоки. Даже если какое-то устройство сильно отличается от других, буферизованная файловая система все равно представляет его в виде логического устройства, которое называется потоком. Потоки бывают двух видов: текстовые и двоичные. Текстовый поток – последовательность символов. В текстовом потоке по требованию среды могут происходить определенные преобразования символов (символ новой строки может быть заменен парой символов – возврата каретки и перевода строки). Поэтому может и не быть однозначного соответствия между символами
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.