1. 首页>精华知识 > 知识

怎么把数组清空

作者:李同
2020-03-31
知识

1.在C语言中如何把数组清空

有两种方法可以实现。

为方便说明,定义整型数组a,并实现将a清空。

int a[4] = {1,2,3,4};

1、通过数组遍历,逐个赋值为0。

定义循环变量int i;

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

a[i]=0;

该程序功能为遍历数组a,逐个将元素赋值为0,实现清空效果。

2、借助内存赋值函数memset,整体赋值为0。

void *memset(void *dst, int value, size_t size);

这个函数的功能为将src上,大小为size字节的数据赋值为value。需要注意的是,该函数赋值是以字节为单位的。

调用该函数时需要引用头文件string.h,即

#include <string.h>

清空数组的代码为

memset(a,0,sizeof(a));

2.C语言数组清空的几种方法比较

任何类型的数组都可以,实际上memset函数是对某一个地址以及该地址之后的一串空间进行赋值操作,只要是地址值,都可以被赋值。

1、memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第二个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。

2、函数介绍:void *memset(void *s, int ch, size_t n);

函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。

memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。

3.如何将字符串数组清空

两个memset都行。因为0和''等价。

需要注意的是a必须是定义成char a[] = "xxxxxx"这样而不能是char *a = "xxxxxx"。

否则,sizeof(a)后者就是一个指针的大小也就是4了。

a[0] = ''只能是在a的第一个字符的位置上写一个0,也就是字符串的结束符而已。

实际上自a[1]开始后面还都是有数据的。

如果从相对意义上说只要控制正确就行,从绝对的“清空”角度不能算清空。

必须使用你写的两个memset才可以。

希望有用。

4.怎么从数组中删除一个元素

我的思路是 先循环遍历这个数组 用equals方法判断是否含有内容符合要求的元素 如果找到了 要记录下索引 定义一个中间变量temp 利用这个索引 把要删除的那个元素和数组最后一个元素交换位置 然后用java.util.Arrays类中的copy方法 该方法是数组复制的方法 有两个参数 一个是复制的元数组 一个是复制元素的个数 你在第二个参数那改成比原来数组少1 这样就删除了

不过java不是还有一个更好的数据结构叫集合 数组这样操作是不是很恶心? 这种场合你完全可以用List集合代替

推荐阅读
  • 描写人多的四字词语

    人山人海、比肩继踵、万人空巷、座无虚席、门庭若市、高朋满座、沸沸扬扬、热闹非凡、门庭若市、熙熙攘攘、车水马龙、人来人往、 济济一堂、摩肩接踵、.熙熙攘攘、 攘来熙往 熙来攘往 、比肩叠踵 、宾客如云、 驾肩…

    知识 2024-05-20
  • 毫升和斤怎样换算

    毫升是体积单位,斤是质量单位,不能换算。根据物质密度不同,换算比例不同。对于水来说,一斤等于500毫升…

    知识 2024-05-20
  • 泡沫之夏第三部小说的结局是什么啊

    夏沫与欧辰一起,还有了个孩子,夏沫弟弟死了,最后是夏沫和欧辰在一起了,不过洛熙也得到了从未有过的平静的内心,所以可以说是一个大团圆结局。明晓溪写了番外在仙度瑞拉,说夏沫生了一个儿子,叫做橙橙。夏沫因为…

    知识 2024-05-20
  • 什么软件的卫星地图最清晰最高看到人

    就目前而言,手机用卫星图较为清晰、能看到人的还是谷歌。有两种产品,一是手机版谷歌地球(Google Earth),打开后就是卫星图。二是手机版谷歌地图(Google Maps),既有卫星图,又有矢量图,还能导航。  国内的手…

    知识 2024-05-20
  • 在手机上正规赚钱方法(手机能赚钱的5

    一、众包类:按照任务操作,单价较低,做得越多,收入越多众包类项目是手机赚钱比较常见的类型之一,经常可以看到一些网友操作这类项目,譬如:众人帮、阿里众包、百度众包等,是业内较为知名的任务众包平台,每天都…

    头像 bianji123
    知识 2024-05-20