Язык программирования C

Скачать в pdf «Язык программирования C»


Приоритет операций и их ассоциативность указаны здесь полностью, однако порядок вычисления выражений не определен, за некоторыми исключениями, даже для подвыражений, дающих побочные эффекты. Это значит, что если в определении операции специально не оговаривается та или иная последовательность вычисления ее операндов, то в реализации можно выбирать любой порядок вычислений по желанию и даже чередовать его. Однако любая операция комбинирует значения своих операндов в соответствии с синтаксической структурой выражения, в котором она встречается.


Это правило отменяет ранее имевшуюся свободу в порядке выполнения операций, которые математически коммутативны и ассоциативны, но которые с вычислительной точки зрения могут и не оказаться ассоциативными. Это изменение затрагивает только вычисления вещественной арифметики, выполняющиеся на пределе точности, и ситуации, когда возможно переполнение.


В языке не определена обработка переполнения, деления на нуль и других исключительных ситуаций, возникающих при вычислении выражений. В большинстве существующих реализаций С переполнение игнорируется при вычислении целочисленных выражений со знаком и присваивании, но в целом такое поведение выполняющей системы стандартом не гарантируется. Обработка деления на нуль и всех исключительных ситуаций вещественной арифметики может отличаться в разных реализациях; иногда для этой цели существует нестандартная библиотечная функция.

А.7.1. Генерирование указателей


Если выражение или подвыражение имеет тип “массив элементов Т где Т— некоторый тип, то значением этого выражения будет указатель на первый элемент массива, и тип такого выражения заменяется на тип “указатель на Т Замена типа не выполняется, если выражение является операндом одноместной операции &, либо операндом операций ++, — sizeof, либо левым операндом присваивания или операции “точка” (.). Аналогично, выражение типа “функция, возвращающая Т кроме случая использования в качестве операнда &, преобразуется в тип “указатель на функцию, возвращающую Т

Скачать в pdf «Язык программирования C»