为什么程序 定义的是unsigned char * 也可以求长度出来。VC下不行,我想问下为什么要定义成 unsigned char * 呢,unsigned char *与char *定义的数据类型有什么区别呢?一般 unsigned char * 是来指向什么数据,char *有是来指向什么数据类型呢?
unsigned char *是一个指向unsigned char的数据类型。
char *是一个指向char类型的数据类型。所有经常可以看到char *去指向字符串,而unsigned char *指向的HEX。
其实他们之间都是没有区别的。因为没有为负数的可见字符。
其实还是有区别的,比如 unsigned char test[]={0xff};printf("%02x",test[0]);
char test[]={0xff}; printf("%02x",test[0]); 结果是不一样的, 无符号数跟有符号数的区别