整形数组括号内是unsigned char 型变量是什么意思,有什么意义

整形数组括号内是unsigned char 型变量是什么意思,有什么意义

没啥关系啊,只是代表数量的类型,最多说明数组大小不超过255
比如:
unsigned char num = 10;
int *p = new int[num];

unsigned 只是表示定义无符号类型

unsigned char 无符号字符类型,所有位都为大小,没有正负
有符号和无符号的区别:
1、数值占位不同
unsignedint是从0到2的32次方减1,而signedint是从负2的31次方到正2的31次方减1。在计算机里,整型变量占用4字节,也就是32位的存储空间。对于有符号数来说,正负号要单独占一位。所以除去符号位以外,数的绝对值就占31位。
2、范围的不同
无符号整型和有符号整型的区别在于无符号类型可以存放的正数范围比有符号整型中的范围大一倍,因为有符号类型将最高位储存符号,而无符号类型全都储存数字。在16位系统中一个int能存储数据的范围是-3276832767,unsigned能存储的数据范围是065535。
3、表示的绝对值不同
它们所占的字节数其实是一样的,但是有符号的需要安排一个位置来表达我这个数值的符号,因此说它能表示的绝对值就要比无符号的少一半。举个例子:有一个1个1字节的整数,那么无符号的就是:“00000000~11111111”这个就是无符号的范围。