人们经常需要一次从内存中读取一个字节,就像在这个幼稚的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]
.