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语言中,如何判断一个字符数组是空的?的主要内容,如果未能解决你的问题,请参考以下文章