|
Программирование >> Структурное программирование
Глава 16 Чтобы передать структуру в функцию вызовом по значению, надо передать ее адрес. Создание нового имени с помощью typedef не приводит к появлению нового типа данных; typedef просто создает новое имя уже описанного типа. Операция поразрядное И (&) имеет два целых операнда. Бит результата устанавливается в 1, если соответствующие биты обоих операндов установлены в 1. Маски используются для того, чтобы выделить в анализируемом значении указанные биты и сделать невидимыми остальные. Операция поразрядное ИЛИ () имеет два целых операнда. Бит результата устанавливается в 1, если соответствующие биты хотя бы в одном из операндов установлены в 1. Каждая из поразрядных операций (за исключением поразрядного НЕ) имеет соответствующую операцию присваивания. Операция поразрядное исключающее ИЛИ () имеет два целых операнда. Бит результата устанавливается в 1, если в одном и только в одном из операндов соответствующий бит установлен в 1. Операция сдвига влево ( ) сдвигает биты первого операнда влево на количество битов, заданное вторым операндом. Правые освобождающиеся биты заполняются 0. Операция сдвига вправо ( ) сдвигает биты своего левого операнда вправо на заданное правым операндом количество битов. Выполнение операции сдвига вправо целого значения типа unsigned приводит к освобождению левых битов, которые заполняются нулями. Освобождающиеся левые биты в целом числе со знаком могут заполняться или О, или 1 в зависимости от используемой компьютерной системы. Операция поразрядное НЕ (поразрядное дополнение, отрицание) (~) имеет один операнд и устанавливает в нем биты со значением 1 в О, а биты со значением О в 1; это называется также дополнением значения до единицы. Битовые поля позволяют рационально использовать память за счет хранения данных в минимально требуемом количестве битов. Битовые поля должны быть объявлены как тип int или unsigned. При объявлении битового поля вслед за указанием типа элемента unsigned или int ставится двоеточие и пишется целочисленная константа, задающая ширину поля. Ширина поля должна быть целочисленной константой в диапазоне между О и заданным общим числом битов, используемых для хранения целого значения типа int в вашей системе. Если битовое поле определено без имени, то оно используется в структуре как заполнение. Неименованное битовое поле нулевой ширины используется для выравнивания следующего битового поля по границе нового машинного слова. Функция islower определяет, является ли ее аргумент строчно11 буквой (a-z). Функция isupper определяет, является ли ее аргумент прописной буквой (A-Z). Функция isdigit определяет, является ли аргумент цифрой (0-9). Функция isalpha определяет, является ли аргумент прописной буквой (A-Z) или строчной буквой (a-z). Функция isalnum определяет, является ли аргумент прописной буквой, строчной буквой или цифрой (A-Z, a-z, 0-9). Функция isxdigit определяет, является ли аргумент шестнадцатеричной цифрой (A-F, a-f, 0-9). Функция toupper преобразует строчную букву (в нижнем регистре) в прописную (в верхнем регистре). Функция tolower преобразует прописную букву (в верхнем регистре) в строчную (в нижнем регистре). Функция isspace определяет, является ли аргумент одним из следую-щих символов разделителей: пробел, \Г, \п, \г, \t или \v. Функция iscntrl определяет, является ли ее аргумент одним из следующих управляющих символов: \t, \v, \f, \а, \b, \r или \n. Функция ispunct определяет, является ли ее аргумент печатным символом, отличным от пробела, цифры или буквы. Функция isprint определяет, является ли ее аргумент печатным символом, включая символ пробела. Функция isgraph определяет, является ли ее аргумент печатным символом, отличным от пробела. Функция atof преобразует свой аргумент - строку символов, которая представляет собой число с плавающей запятой, в значение типа double. Функция atoi преобразует свой аргумент - строку цифр, которая представляет собой целое число, в значение типа int. Функция atol преобразует свой аргумент - строку цифр, представляющую собой длинное целое число, в значение типа long. Функция strtod преобразует последовательность символов, представляющую собой число с плавающей точкой, в значение типа double. Эта функция принимает два аргумента: строку типа char * и указатель на строку char *. Переданная строка содержит последовательность символов, которые должны быть преобразованы к типу double. Второму аргументу присваивается позиция первого символа после преобразованного фрагмента строки. Функция strtol преобразует в значение типа long последовательность символов, представляющую собой целое число. Функция принимает три аргумента: строку типа char *, указатель на char * и целое значение. Строка состоит из символьной последовательности, которая должна быть преобразована. Второму аргументу присваивается позиция первого символа после преобразованного фрагмента строки. Целое зна- чение задает основание системы счисления, используемое при преобразовании. Функция strtoul преобразует заданную последовательность символов, представляющую целое число типа unsigned long, в соответствующее значение типа unsigned long. Функция принимает три аргумента: строку типа char *, указатель на char * и целое значение. Строка состоит из символьной последовательности, которая должна быть преобразована. Второму аргументу присваивается позиция первого символа после преобразованного фрагмента строки. Целое значение задает основание системы счисления, используемое при преобразовании. Функция strchr ищет первое вхождение заданного символа в строку. Если символ найден, функция strchr возвращает указатель на этот символ в строке; в противном случае возвращается NULL. Функция strcspn определяет длину начальной части строки, являющейся ее первым параметром, которая не содержит ни одного символа, входящего в строку, являющуюся ее вторым параметром. Функция возвращает длину найденной начальной части. Функция strpbrk определяет позицию первого вхождения в строку, являющуюся ее первым параметром, любого из символов строки, являющейся ее вторым параметром. Если символ из второй строки найден в первой строке, функция strpbrk возвращает указатель на этот символ. В противном случае возвращается указатель NULL. Функция strrchr определяет последнее вхождение заданного символа в строку. Если этот символ найден, функция strrchr возвращает указатель на этот символ в строке; в противном случае возвращается NULL. Функция strspn определяет длину начальной части строки, являющейся ее первым параметром, которая состоит только из символов строки, являющейся ее вторым параметром. Функция возвращает длину этой начальной части строки. Функция strstr определяет позицию первого вхождения в строку, являющуюся ее первым параметром, подстроки, являющейся ее вторым параметром. Если подстрока найдена, возвращается указатель на нее в строке первого параметра. В противном случае возвращается указатель NULL. Функций memcpy копирует заданное число символов из объекта, на который указывает ее второй параметр, в объект, на который указывает ее первый параметр. Функция может принимать указатель на объект любого типа. Принимаемые функцией memcpy указатели типа void преобразуются в ней в указатели типа char. Функция манипулирует с байтами аргумента как с символами. Функций memmove копирует заданное число байтов из объекта, на который указывает ее второй параметр, в объект, на который указывает ее первый параметр. Копирование осуществляется так, как если бы байты сначала копировались из объекта, на который указывает второй параметр, во временный массив символов, а затем копировались из этого временного массива в объект, на который указывает первый параметр.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |