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

2024-11-19 21:20:36
推荐回答(5个)
回答(1):

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

1、整数数组清零

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

头文件: #include

功能说明:将字符串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

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

回答(2):

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

回答(3):

可以直接用memset的吧:
memset((char *)str, 0, 1000 * 50);
memset(times, 0, sizeof(int) * 1000);

回答(4):

使用memset清零效率比较高。你可以试试:

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

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

回答(5):

用循环完成啊或是库函数memset