Имеется ряд операций присваивания, каждая из которыхгруппируется слева направо. Все операции требуют в качествесвоего левого операнда L-значение, а типом выражения присва-ивания является тип его левого операнда. Значением выраженияприсваивания является значение, хранимое в левом операндепосле того, как присваивание уже будет произведено. Две час-ти составной операции присваивания являются отдельными лек-семами. Выражение-присваивания: L-значение = выражение L-значение += выражение L-значение -= выражение L-значение *= выражение L-значение /= выражение L-значение %= выражение L-значение >>= выражение L-значение <<= выражение L-значение &= выражение L-значение ^= выражение L-значение \!= выражение Когда производится простое присваивание C'=', значениевыражения заменяет значение объекта, на которое ссылаетсяL-значение. Если оба операнда имеют арифметический тип, топеред присваиванием правый операнд преобразуется к типу ле-вого операнда. О свойствах выражения вида E1 оп = E2, где Oп - одна изперечисленных выше операций, можно сделать вывод, еслиучесть, что оно эквивалентно выражению E1 = E1 оп (E2); од-нако выражение E1 вычисляется только один раз. В случае опе-раций += и -= левый операнд может быть указателем, причемпри этом (целочисленный) правый операнд преобразуется такимобразом, как объяснено в п. 15.4; все правые операнды и всеотличные от указателей левые операнды должны иметь арифмети-ческий тип. Используемые в настоящее время компиляторы допускаютприсваивание указателя целому, целого указателю и указателяуказателю другого типа. такое присваивание является чистымкопированием без каких-либо преобразований. Такое употребле-ние операций присваивания является непереносимым и можетприводить к указателям, которые при использовании вызываютошибки адресации. Тем не менее гарантируется, что присваива-ние указателю константы 0 дает нулевой указатель, которыйможно отличать от указателя на любой объект.