人们通常需要一次从内存中读取一个字节,就像下面这个简单的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 *
,例如为了将uint32_t
存储在char[4]
中。
https://stackoverflow.com/questions/8385824
复制相似问题