一、字符串的定义
方式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. 养成良好变成习惯,定义变量后首先要初始化。
标签:初始化,判断,为空,C语言,char,str,字符串 From: https://www.cnblogs.com/haoran123/p/17770005.html