关于给unsigned char 赋值的简单问题

cailei0596 2007-09-15 11:37:38
先定义unsigned char a2[16];
如何给它赋值为{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00}?
不能在定义的时候初始化
...全文
1166 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cracker234 2007-09-16
  • 打赏
  • 举报
回复
a2[7] = 0x0a;
a2[13] = 0x20;
a2[15] = 0x00;
独孤过儿 2007-09-16
  • 打赏
  • 举报
回复
char是1个字节的,一共16个,也就是共16个字节,首先可以用强制类型转换,将

unsigned char* 指针转换为unsigned short*的指针,然后将这个short设置为0,这样能保证全

体的数据都是0,然后对另外两个单独赋值,个人觉得这样效率应该是很高的了。

PS:如果调用库函数,势必会有比较大的开销。
shager 2007-09-16
  • 打赏
  • 举报
回复
如何赋值?直接赋不就可以了,一个个等于
cailei0596 2007-09-15
  • 打赏
  • 举报
回复
能不能再定义个unsigned char a3[16]={........}
然后再复制a3给a2?
我用memcpy(a2,a3,16)
编译说a3没有定义。/
不知道怎么回事
index_smart 2007-09-15
  • 打赏
  • 举报
回复
我也没看清楚....
index_smart 2007-09-15
  • 打赏
  • 举报
回复
unsigned char a2[16]={0x00};
效率更高??(个人意见~~)
星羽 2007-09-15
  • 打赏
  • 举报
回复
- -
没看清,那只有在memset后



a2[7] = 0x0a;

a2[13] = 0x20;
lostbyte2006 2007-09-15
  • 打赏
  • 举报
回复
星羽你好!他的数组里面好像有个0x20和0x0a啊
lostbyte2006 2007-09-15
  • 打赏
  • 举报
回复
楼主是什么意思,要在声明后再初始化吗?
星羽 2007-09-15
  • 打赏
  • 举报
回复
memset(a2, 0, sizeof(a2));

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧