C语言函数_string.h 之 内存comparison函数memcmp
memcmp 原型: int memcmp(const void *ptr1, const void*ptr2, unsigned int count); 功能: memcmp用于比较内存区域ptr1和ptr2的前count个字节,是按字节进行比较的。 头文件: string.h 或 memory.h 返回值: < 0 :ptr1和ptr2所指内存中第一个不相等的字节有*((char*)ptr1+x) < * ((char*)ptr2+x) > 0 :ptr1和ptr2所指内存中第一个不相等的字节有*((char*)ptr1+x) > * ((char*)ptr2+x) = 0 :ptr1和ptr2所指的内存块中前count个字节都相等 说明: 1、函数的返回条件是:比较次数达count次或者*((char*)ptr1+x) - *((char*)ptr2+x)的值不 为零(即两个块内存中第x字节不相等)。 2、函数是按字节进行比较的,如果还没有达到上述返回条件,即使遇到'\0'也不会停止比较。 而判断规则是按照ASCII码表中字母的顺序进行比较的,即'a'的值为97,'A'的值为65,因此'a' 比'A'大。 3、调用函数时如果参数为结构体,则需要确保结构体中的填充字节被清零。例子: typedef struct memcmp_test { short data1; int