什么是签名的char指针和未签名的char指针之间的工作差异?

Pav*_*ath 5 c unsigned pointers sizeof char

我能理解一个signed char和一个之间的区别unsigned.但是,相应类型的指针在其操作中是否相同?Cos sizeof(char)sizeof(unsigned char)总是一样的(或者有任何反例?)

对于指针,只有数据类型的大小才重要.如果我使用char *unsigned char *互换,是否有任何陷阱?

我觉得这些帖子很有用:(

unsigned char和char指针之间的区别

为什么短*而不是char*为字符串?char*和unsigned char*之间的区别?

per*_*eal 5

下面是一个基于每个指针类型指向的类型范围差异的反例:

#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;
}
Run Code Online (Sandbox Code Playgroud)