C语言中,如何判断一个字符数组是空的?

Posted a1232345

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中,如何判断一个字符数组是空的?相关的知识,希望对你有一定的参考价值。

1、字符数组不等价于char字符串指针的

作为数组的时候,定义多长,内存分配空间就是多长
作为char字符串指针,尾部是自动增加了一个\\0字符的

这个就是你用\\0作为结束判断找不到正确结束位置的原因
字符数组是否为空是要自己定义空的概念的

如果你的定义是把字符数组当中字符串来理解的话,第一个元素是否是\\0字符就是判断准则了(可以用src[0] == '\\0'来判断字符串数组是否为空)


2、你定义的数组,就象开了一排5个房间,不管你有没有用,这5个房间都已经分配给你了,没什么空不空的概念,你可以不去住,但空间已经在那里了,里面怎么会没有任何元素呢?难道是真空?嘿嘿.
至于里面到底是什么东西,要看编译器怎么处理了,也可能是随机的数据,因此对程序员来讲是不可预料的,也不可能通过NULL或'\\0'去检查.


3、其是数组没有为空的,只要你申请了空间(数组一定以就在栈上有自己的空间),空间里就有数据,可以输出.然而:

你用memset把数组空间全部赋值为0了,是可以判断的.但是需要判断空间的内容,即:a[i].word[0]
a[i].word是数组word[20]的首地址,当然不会为0,或者‘\\0’

以上是关于C语言中,如何判断一个字符数组是空的?的主要内容,如果未能解决你的问题,请参考以下文章

halcon中判断图像和数组是空的

THINKPHP 怎么定义一个空的数组?

C语言中如何截取字符串的前几个字符?

用C语言怎么判断一个int变量是空还是为0

Java中如何判断数组元素是不是为空?

php语言判断零和空怎么判断啊?