在 C 语言中,使用字符数组定义字符串时,可以通过给数组赋值方式进行初始化。但是当只给一部分元素赋值时,剩下的元素将默认为 NULL('\0')字符,导致字符串长度不确定,可能会引发意料之外的问题。
为了避免这种情况的发生,可使用以下两种方式:
char str[10] = {'h', 'e', 'l', 'l', 'o', '\0', '\0', '\0', '\0', '\0'};
这样定义的字符串长度为 10,只有前 5 个字符是有效字符。
char str[] = "hello";
该方法会自动在字符串末尾添加 NULL 字符,确保字符串长度正确,并且可以避免手动初始化的麻烦。
注意:以上两种方法都可以正确解决部分 C 字符串初始化问题,但是在使用时要注意数组长度和字符串长度的匹配,及时处理字符串溢出问题。