人们经常需要一次从内存中读取一个字节,就像在这个幼稚的memcpy()实现中一样:
void *memcpy(void *dest, const void *src, size_t n)
{
char *from = (char *)src;
char *to = (char *)dest;
while(n--) *to++ = *from++;
return dest;
}
但是,我有时会看到人们明确地使用unsigned char *而不是仅仅使用char *.
当然,char也unsigned char可能不相等。但是,无论我使用char *,signed char *还是按unsigned char *字节读取/写入内存时,这有什么不同吗?
更新:实际上,我完全知道c=200根据c. 我在这里要问的是为什么人们有时会使用unsigned char *而不是仅仅char *在读取内存时使用,例如为了将 an 存储uint32_t在char[4].