Аргументы указателя к Стандартной Библиотечной функции memcmp
должны указать или на тип указателя, чрезвычайно тип со знаком, тип чрезвычайно без знака, по существу булев тип или на по существу перечислимый тип
Аргументы указателя к Стандартной Библиотечной функции memcmp
должны указать или на тип указателя, чрезвычайно тип со знаком, тип чрезвычайно без знака, по существу булев тип или на по существу перечислимый тип.
Стандартная Библиотечная функция
memcmp ( lhs, rhs, num );
num
двух объектов, на которые указывают lhs
и rhs
.Не используйте memcmp
для сравнения байта байтом следующего.
Ввод | Объяснение |
---|---|
Структуры | Если у членов структуры есть различные типы данных, ваш компилятор вводит дополнительное дополнение для выравнивания данных в памяти. Содержимое этих дополнительных дополнительных байтов бессмысленно. Если вы выполняете сравнение байта байтом структур с memcmp , вы сравниваете даже бессмысленные данные, хранимые в дополнении. Вы можете сделать ложный вывод, что две структуры данных не равны, даже если у их членов-корреспондентов есть то же значение. |
Объекты с чрезвычайно типом с плавающей точкой | То же значение с плавающей точкой может храниться с помощью различных представлений. Если вы выполняете сравнение байта байтом двух переменных с memcmp , можно сделать ложный вывод, что переменные неравны, даже когда у них есть то же значение. Причина состоит в том, что значения хранятся с помощью двух различных представлений. |
Чрезвычайно массивы символов | Чрезвычайно массивы символов обычно используются, чтобы сохранить строки. В строках содержимом в байтах после того, как пустой терминатор строки бессмыслен. Если вы выполняете сравнение байта байтом двух строк с memcmp , вы можете сделать ложный вывод, что две строки не равны, даже если байты перед пустым хранилищем терминатора строки то же значение. |
Аргументы указателя к Стандартной Библиотечной функции memcmp
должны указать или на тип указателя, чрезвычайно тип со знаком, тип чрезвычайно без знака, по существу булев тип или на по существу перечислимый тип.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Стандартные библиотеки |
Категория: необходимый |
Категория AGC: необходимый |
Язык: C90, C99 |