用memset如何对一个二维数组的某一行清空???

ky22334 2006-11-05 10:05:57
char array[9][90];
memset(array+2,'\0',90);
可以这样来清空数组的第三行么
...全文
1246 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fosjos 2006-11-05
  • 打赏
  • 举报
回复
我觉得标准的应该是:

*(array+2)或者array[2]

array+2只能用在静态分配吧,估计和内存分配方式有关(一个9*90的一维空间)
chinese_zmm 2006-11-05
  • 打赏
  • 举报
回复
可以实现
但memset(array+2,0,90);应该也可以吧。
飞哥 2006-11-05
  • 打赏
  • 举报
回复
可以·
对于char来说那样就可以了
youngphoneix 2006-11-05
  • 打赏
  • 举报
回复
可以,但是最好写成这样
memset(array+2,'\0', sizeof(char)*90 );
jixingzhong 2006-11-05
  • 打赏
  • 举报
回复
当然可以,

memset 处理连续的空间,
所以, 只要你的清除空间是连续的,
那么都是可以使用这个 memset的,
问题是这个 长度 nlen 参数千万别搞错鸟 ...
唐巧 2006-11-05
  • 打赏
  • 举报
回复
sizeof(char)==1;
所以:
memset(array+2,0, 90);是可以的
唐巧 2006-11-05
  • 打赏
  • 举报
回复
都说完了。。。
memset(array+2,'\0', sizeof(char)*90 );

memset(array+2,0, sizeof(char)*90 );
是一样的。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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