c语言 关于字符数组和整型数组清零

我现在有str[1000][50]的一个二维char数组和一个int型的times[1000],现在里面有数据,我现在想把他们都置零,有没有什么直接可以用的函数?... 我现在有str[1000][50]的一个二维char数组和一个int型的times[1000],现在里面有数据,我现在想把他们都置零,有没有什么直接可以用的函数? 展开
 我来答
小气包
高粉答主

2019-12-10 · 关注我不会让你失望
知道小有建树答主
回答量:1491
采纳率:100%
帮助的人:50.9万
展开全部

C语言数组和整型数组清空方法,示例:

1、整数数组清零

函数:void bzero(void *s, int n)

头文件: #include <string.h>

功能说明:将字符串s的前n个字符置为0,一般n取sizeof(s),将整块空间清零;

举例:char str[10];    bzero(str, sizeof(str));      也可以将整个结构体清零;

2、数组清空

使用时间:94s

for( k = 0 ; k <10000 ; k++ )

for( i = 0 ; i<MAX; i++ )

for( j = 0;j < MAX; j++ )

a[i][j] = 0;

扩展资料

C语言结构体初始化

1、定义:

struct InitMember

{

int first;

double second;

char* third;

float four;

};

2、定义时赋值:

struct InitMember test = {-10,3.141590,"method one",0.25};

显卡色彩校正器
推荐于2017-09-08 · TA获得超过2022个赞
知道小有建树答主
回答量:959
采纳率:25%
帮助的人:384万
展开全部

可用memset函数,效率比较高。


memset的定义为:

void *memset(void *s, char ch, unsigned n);

其可将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定

例如对一长度为1000的数组int num[1000],用法为:

memset(num, 0, sizeof(int)*1000);

可以将这段所有的内存置为0,即'\0'。

而对于多维数组char str[1000][50],因为元素在内存上是线性排列的,用法为:

memset(str, 0, sizeof(char)*1000*50);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyh1141298056
推荐于2017-09-27 · TA获得超过1308个赞
知道小有建树答主
回答量:500
采纳率:100%
帮助的人:635万
展开全部
可以直接用memset的吧:
memset((char *)str, 0, 1000 * 50);
memset(times, 0, sizeof(int) * 1000);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仁慈且深远丶百花Q
2013-01-17 · TA获得超过2133个赞
知道小有建树答主
回答量:667
采纳率:66%
帮助的人:785万
展开全部
使用memset清零效率比较高。你可以试试:

memset(str, 0, sizeof(char)*1000*50);

memset(times, 0, sizeof(int)*1000);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友61576e2
2015-10-22 · TA获得超过162个赞
知道小有建树答主
回答量:189
采纳率:100%
帮助的人:110万
展开全部
用循环完成啊或是库函数memset
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式