Операторы +, -, + = и - = не должны применяться к выражению типа указателя
Операторы +, -, + = и - = не должны применяться к выражению типа указателя.
Предпочтительной формой арифметики указателей является использование синтаксиса подстрочного индекса массива ptr[expr]. Этот синтаксис ясен и менее подвержен ошибкам, чем манипулирование указателями. При манипулировании указателями любое явно рассчитанное значение указателя может получить доступ к непреднамеренным или недопустимым адресам памяти. Индексирование массива также может иметь доступ к непреднамеренной или недопустимой памяти, но его легче просмотреть.
Для нового программиста C выражение ptr+1 может быть ошибочно интерпретирован как один плюс адрес ptr. Однако новый адрес памяти зависит от размера в байтах целевого объекта указателя. Эта путаница может привести к неожиданному поведению.
При использовании с осторожностью манипулирование указателем с помощью ++ может быть более естественным (например, последовательный доступ к местоположениям во время тестирования памяти).
Операции с флагами Polyspace ® для указателей, например :Pointer + Integer, Integer + Pointer, Pointer - Integer.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: указатели и массивы |
| Категория: Консультационные услуги |
| СМЖЛ Категория: Консультативные услуги |