C语言判断字符串为空

一、字符串的定义

方式1: 使用一个字符数组来存储一个字符串

char str_array[LEN];

方式2:malloc 一段内存来存储一个字符串

char * str_ptr = (char*) malloc (LEN*sizeof(char));

 

二、初始化

定义了数组或字符指针之后,需要做一个初始化,否则里面将是随机值,以后将无法判断改字符串是否为空。所以,首先要保证字符串初始化为空。

memset(str_ptr,'\0',sizeof(LEN*sizeof(char)));

 

三、判空策略

对于已经初始化过的字符串,我们就可以通过strlen来判断是否为空了。

strlen()从字符串第0个字符开始计算,遇到字符\0停止,得到字符串长度,如果长度为0,则字符串为空。

常量字符串: const char* hi_str = "Hi str";
字符串变量 :char * str;

都可以使用下面的示例代码判断是否为空:

if (str != NULL) {
    if (strlen(str) == 0) {
        // it is empty string
    }
}

 

注意:

1. 避免使用 if (str[0] == '\0') 来判断,因为可能导致crash.

2. 如果是字符串指针,首先要判断指针是否为空,否则容易造成段错误。

3. 养成良好变成习惯,定义变量后首先要初始化。

posted @ 2023-10-17 16:14  皓然123  阅读(1822)  评论(0)    收藏  举报