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语言 关于字符数组和整型数组清零的主要内容,如果未能解决你的问题,请参考以下文章