struct {
int code;
float cost;
} item;
item.code = 1265;
Выполняется присваивание значения элементу code структуры item.
-> |
Косвенная адресация (определение принадлежности) элемента используется совместно с указателем на структуру (или объединение) для идентификации того или иного элемента этих структур (или объединения). Предположим, что ptrstrявляется указателем на структуру, a member- элементом, указанным в структурном шаблоне. Тогда ptrstr -> memberопределяет, что это элемент структуры, на которую ссылается указатель. Операцию косвенной адресации элемента можно применять аналогичным образом и к объединениям. |
Пример:
struct {
int code;
float cost;
} item, *ptrst;
ptrst = &item;
ptrst-> code = 3451;
Эти операторы присваивают значение элементу codeструктуры item. Следующие три выражения эквивалентны:
ptrst -> code
item.code
(*ptrst).code
VII. Дополнительные операции
sizeof |
Выдает размер (в байтах) операнда, стоящего справа. Операндом может быть обозначение типа, заключенное в скобки, как, например, в sizeof(float), либо имя конкретной переменной или определенного массива и т. д., как, например, в sizeof foo. |
(type) |
Операция приведения типа: превращает следующее за ней значение в тип, определенный ключевым словом (или словами), заключенным в скобки. Например, (float)9 превращает целое 9 в число с плавающей точкой 9.0. Операция "запятая" связывает два выражения в одно и гарантирует, что левое выражение будет вычислено первым. Типичным примером использования является включение дополнительной информации в управляющее выражение цикла for:for(step = 2, fargo = 0; fargo < 1000; step *= 2) fargo + = step; |
?: |
Операция условия имеет три операнда, каждый из которых является выражением. Они расположены следующим образом: выражение1 ? выражение2 : выражение3 . Значение всего выражения равно значению выражения2 , если выражение1 истинно, и значению выражения3 в противном случае. |
Примеры:
(5 > 3) ? 1 : 2 имеет значение 1
(3 > 5) ? 1 : 2 имеет значение 2
(a > b) ? а : b имеет значение большего а и b
ПРИЛОЖЕНИЕ Г. ТИПЫ ДАННЫХ И КЛАССЫ ПАМЯТИ
Ключевые слова: Основные типы данных определяются с помощью следующих семи ключевых слов: int, long, short, unsigned, char, float, double
Целые со знаком: Могут иметь положительные и отрицательные значения.
int: основной тип целых чисел для конкретной системы.
longили long int: могут иметь целое как минимум такого же размера, как самое большое intи, возможно, больше.
shortили short int: самое большое целое типа shortне больше самого большого int, а возможно, и меньше. Обычно longдолжно быть больше short, a intдолжно быть таким же, как одно из них. Например, версия языка Си Lattice С для компьютера IBM PC имеет 16-разрядные целые типа shortи intи 32-разрядные long. Все это зависит от используемой системы.
Целые без знака: имеют только нулевые и положительные значения. Они не могут быть больше самого большого возможного положительного числа.
Ключевое слово: unsignedиспользуется перед обозначением типа: unsigned int, unsigned long, unsigned short.
Отдельно стоящее unsignedобозначает то же самое, что и unsigned int.
Символы: это типографские знаки, такие, как А, &и +.
Обычно каждый из них занимает в памяти только один байт.
char: ключевое слово для этого типа.
Числа с плавающей точкой: они могут иметь положительные и отрицательные значения.
float: основной (для используемой системы) размер чисел с плавающей точкой.
doubleили long float: больший (возможно) элемент для размещения чисел с плавающей точкой. С его помощью в принципе можно использовать больше значащих цифр и, возможно, больший порядок.
Как описать простую переменную:
1. Выберите необходимый тип.
2. Выберите имя для переменной.
3. Используйте следующий формат для oператора описания:
обизначение-типа имя-переменной ;
Обозначение-типа состоит из одного или более ключевых слов типа. Вот несколько примеров:
int erest;unsigned short cash;
4. Можно описать более чем одну переменную одного и того же типа, разделив имена переменных запятыми:
Читать дальше