我可以理解 signed char
和 unsigned
之间的区别。但是对应类型的指针在操作上不是等价的吗?因为 sizeof(char)
和 sizeof(unsigned char)
总是一样的(或者有反例吗?)
对于指针,只有数据类型的大小才是重要的。如果我交替使用 char *
和 unsigned char *
有什么陷阱吗?
我觉得这些帖子没什么用 :(
Difference between unsigned char and char pointers
Why short* instead of char* for string? Difference between char* and unsigned char*?
最佳答案
下面是一个基于每个指针类型指向的类型范围差异的反例:
#include <stdio.h>
int main() {
unsigned char *uc;
char *c;
unsigned char v = 128;
uc = &v;
c = &v;
if (*uc != *c)
printf("there is difference\n");
return 0;
}
关于c - 有符号字符指针和无符号字符指针之间的工作区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9825844/