几个区别:const char *, unsigned char *

  • Post author:
  • Post category:其他


一:const char *与unsigned char *的区别

参考:

https://bbs.csdn.net/topics/390184854

1.char*是有符号的, 如果大于127即0x7F的数就是负数了,使用%x格式化输出,就会产生变化,所以使用%x格式化输出数据时,记得一定要转换成无符号类型;

2.char *是字符串,以’/0’为结束符,unsigned char *是普通的指针;

3.有符号的字符型数据C7,CF分别传入printf,此时会将类型提升为int,由于是有符号数,所以符号位要进行扩展,得到FFFFFFCF和FFFFFFC7。无符号的字符型数据C7,CF分别传入printf,此时会将类型提升为unsigned int,由于无符号数不进行符号位扩展,所以得到000000CF和00000C7。

二:(后续学习添加,挖个坑)



版权声明:本文为qq_31569581原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。