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

我现在有str[1000][50]的一个二维char数组和一个int型的times[1000],现在里面有数据,我现在想把他们都置零,有没有什么直接可以用的函数?

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};

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-08

可用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);

第2个回答  推荐于2017-09-27
可以直接用memset的吧:
memset((char *)str, 0, 1000 * 50);
memset(times, 0, sizeof(int) * 1000);本回答被提问者采纳
第3个回答  2013-01-17
使用memset清零效率比较高。你可以试试:

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

memset(times, 0, sizeof(int)*1000);
第4个回答  2015-10-22
用循环完成啊或是库函数memset