问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++如何确认数组的元素为空

发布网友 发布时间:2022-04-30 17:08

我来回答

5个回答

热心网友 时间:2022-06-29 21:33

这无法确认,除非用户自己规定了记号,当数组里有规定的记号时就认为空了,比如空字符串就是字符数组的第一个元素为'\0'的字符串。一般情况下是这样处理的:当数组里的数据已经失去存在的意义时,就认为它空了,可以用新的数据来覆盖了——根本没有“清空”的必要,也不可能真正清空,任何符号在数组里其实都是“数据”。所以数据只有有效与无效之别,没有有数与无数之分。有时候,希望数组里一开始或在运行中的某个时刻成为全0或其他符号,那实际上就是后续代码需要的数据,并不是“清空”的意思。对于静态声明的数组,可以这么做:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    int a[10]={1,2,3,4,5,6,7,8,9,10},i,f=1<<sizeof(int)*8-1;//用最小的int数做空标记
    for(i=0;i<10;printf("%3d",a[i++]));//数组a中的数据使用完毕
    printf("\n");
    a[0]=f;//认为a数组空了
    if(a[0]==f)//检测到a中数组无效了,就可重新输入数据
        for(i=0;i<10;scanf("%d",a+i++));
    printf("\n");
    return 0;
}

如果是动态申请的数组,那就更好办了,数组的数据失效后,用free释放空间并使指针为NULL即可,需要时重新动态申请。如:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "stdlib.h"
int main(void){
    int *p,i;
    p=(int *)malloc(sizeof(int)*10);//动态申请数组空间
    for(i=0;i<10;scanf("%d",p+i++));//输入数据
    for(i=0;i<10;printf("%d ",p[i++]));//数据使用完毕
    free(p);//释放空间
    p=NULL;//使指针无效
    printf("\n");
    return 0;
}

热心网友 时间:2022-06-29 21:33

a[6]无值的时候退出一个循环

答:a[6]~a[9]在没有赋值时,就是一个随机值。“a[6]无值”这种概念不对。
任何变量只要存在就有值,没有赋值时,就是一个随机值

热心网友 时间:2022-06-29 21:34

数组元素都有默认值的,是不是空得看你衡量空的标准

热心网友 时间:2022-06-29 21:35

定义一个变量记录数组的当前元素个数,如:
int cnt = 5;
for (int i = 0; i < cnt; ++i)

热心网友 时间:2022-06-29 21:35

这个可以使用STL的vector……
#include
vector
a;
退出:
if(a.size<6)
break;
调整大小:a.resize(num)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 java中如何判断一个数组是否为空 我想问一下大家奥克斯空调制热怎么样啊? 如何判断c程序中的字符数组是否为空? 请问如何判断c程序中的字符数组为空 如何判断一个string数组是否为空 如何判断一个字符串数组是否为空 C语言中,如何判断一个字符数组是空的 茄子井饭的做法大家有知道的么 啊电饭锅 QQ音乐更新之后,弹出程序错误,怎么解决,重新安装n次也没用 电饭煲蒸茄子怎么做如何做好吃 QQ音乐程序错误,怎么回事? 怎么用电饭锅做茄子饭 我的电脑每次点开QQ音乐就显示程序错误,而且死机,为什么,怎么处理? QQ音乐程序错误,怎么解决啊? QQ音乐错误了 怎么解决 高铁拆迁60米改为18米 为什么我电脑的QQ音乐总出现程序错误?该怎么解决? 高铁沿线多少米之内是拆迁的范围 我家的房子在大西高铁往外1米,请问这种情况属于拆迁房吗 c# winform 里如何判断字符串数组为空 求教,java中怎么判断字符串数组中的某个字符为空 C中如何判断字符数组中无值 如何判断一个字符串不存在一个数组当中 如何判断WCHAR字符串数组是否为空 delphi 怎么判断字符数组是否为空 c语言如何用if语句判断数组是否为空字符 判断字符串数组是否含有指定字符串 java字符串数组里可以为空吗 不知道为什么突然头晕想吐 为什么总会突然间的头晕恶心想吐。 突然头晕恶心呕吐是什么原因 突然头晕,想呕吐是什么原因 突然头晕恶心怎么回事? 西安好端端的突然头晕想吐,去邱颈椎那儿需要带哪些检查? 突然头晕目眩呕吐厉害怎么办 魔法少女育成计划死亡顺序介绍 白雪活下来了吗 魔法少女育成计划机器人怎么死的 ZP-410企业级IP话机都有哪些功能? 魔法少女育成计划最高速怎么死的