Макрос NULL должен быть единственно разрешенной формой целочисленной нулевой константы указателя
Макрос NULL должен быть единственно разрешенной формой целочисленной нулевой константы указателя.
Следующие выражения допускают использование константы указателя null:
Назначение указателю
The ==
или !=
операция, где один операнд является указателем
The ?:
операция, где один из операндов с каждой стороны: является указателем
Использование NULL
вместо 0 дает понять, что предназначалась константа указателя со значением NULL.
Проверка помечает присвоение константы нуля указателям, равенствам (или неравенствам), сравнивая указатели с константой нуля и другими аналогичными выражениями, перечисленными в MISRA C®: 2012 документация.
После обновления в техническом исправлении MISRA C: 2012 1 средство проверки позволяет использовать {0} для инициализации агрегатов, содержащих только указатели, для образца, массивов указателей или структур (или объединений) с только полем указателя. Если агрегат содержит несколько полей, инициализация все еще помечена. В этих случаях необходимо использовать макрос NULL для полей указателя и 0 для целочисленных полей, чтобы различать их.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Преобразования типов указателей |
Категория: Требуемая |
Категория AGC: Читаемость |