二维字符数组的清空

baoyz 2013-02-16 08:12:20
最近做一单片机程序,单片机型号ATmega32A。
程序中有一个unsigned char ch[8][128];
程序中需要反复将其清空。最好是一组一组的清空。即是ch[0]清空,ch[1]清空,ch[2]清空……
现在用的是
for (CtI=0;CtI<8;CtI++)
{
for (CtJ=0;CtJ<128;CtJ++)
{
DisplayRam[CtI][CtJ]=0;
}
}

求快速清空方法。
...全文
920 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baoyz 2013-02-21
  • 打赏
  • 举报
回复
引用 3 楼 C_Rabbit 的回复:
上面那个应该是最简洁的方法了,我记不清是不是还要添加对应的头文件。
查到了,是#include <string.h>
of123 2013-02-18
  • 打赏
  • 举报
回复
memset 的底层实现,还是逐字节写入的。 如果是 32 位机,可以自己写一个 memsetw 函数,每次写入一个 32-bit 字。 void memsetw(unsigned long *pBuff, unsigned long value, unsigned long len) { while(len--) pBuff[len] = value; } 调用如下: memsetw((unsigned long *)DisplayRam, 0x00000000, 256);
Simality 2013-02-18
  • 打赏
  • 举报
回复
用指针,当作一维数组处理。
aydf1 2013-02-17
  • 打赏
  • 举报
回复
memset(DisplayRam,0,1024);
woshi_ziyu 2013-02-17
  • 打赏
  • 举报
回复
memset(DisplayRam,0,1024);
C_Rabbit 2013-02-17
  • 打赏
  • 举报
回复
上面那个应该是最简洁的方法了,我记不清是不是还要添加对应的头文件。

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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