刚才看程序时候遇到u8 u16 u32,然后查了查资料,关于他们含义的一点理解。
u8、u16、u32
u8 无符号字符型(8位)
u16 无符号短整型(16位)
u32 无符号长整型(32位)
刚才碰到的问题是定义一个u16的数组 u16 a[10],这个u16的意思是不是就是定义数组中的每一个数最高位是16位,
也就是,可以存放字符(字符占8位)abc等,
也可以存放字(一个字是两个字节,所以占16位),
同样也可以存放数字123(但是存放数的最大不能超过2^16)等,
是这个意思吗
想得不知道对不对,以前觉得C语言基础还可以,感觉学32以后用到C语言才知道很渣,还忘各位兄弟指点小弟一下。
一个汉字算两个字节,这部分代码的意思是,开一块空间(没有确认大小),第一个位置存A,第二个位置存L等等,第N个位置和第N+1个位置存“串”(因为一个汉字的GBK码是两个字节,它会自动用GBK码表示,比如串字可能就是0xA1,0x3D,所以可以存)。
然后u16 a[10]这么定义一般来说A里面东西都是同一类型的,没有人把一堆不同类型的东西看一个数组里(结构体除外)。你上面的英文+汉字,其实英文会自动转成ASCII 码,汉字会自动转成GBK码,所以类型也是一样的,都是u8。
至于结构体,额,不会,我也正在学它。
一周热门 更多>