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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

参考技术A

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

参考技术B 可以直接用memset的吧:
memset((char *)str, 0, 1000 * 50);
memset(times, 0, sizeof(int) * 1000);本回答被提问者采纳
参考技术C 使用memset清零效率比较高。你可以试试:

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

memset(times, 0, sizeof(int)*1000);
参考技术D 用循环完成啊或是库函数memset

以上是关于c语言 关于字符数组和整型数组清零的主要内容,如果未能解决你的问题,请参考以下文章

字节数组byte[]和整型,浮点型数据的转换——Java代码

C语言 二维数组复制清零及打印显示

C语言中关于字符串转整型?

C和C指针小记

C语言的内存分配

2.2 Go语言中的布尔型和整型