c语言字符串数组?

Python010

c语言字符串数组?,第1张

字符串是连续的字符序列,最后以空字符'\0'作为终止符。一个字符串的长度指所有字符的数量,但不包括终止符。在 C 语言中,没有字符串类型,自然也就没有运算符以字符串为操作数。

字符串被存储在元素类型为 char 或宽字符类型数组中(宽字符类型指 wchar_t、char16_t 或 char32_t)。宽字符组成的字符串也称为宽字符串(wide string)。

C 标准库提供了大量的函数,它们可以对字符串进行基本操作,例如字符串的比较、复制和连接等。在这些传统的字符串函数以外,C11 新增了这些函数的“安全”版本,它们能确保字符串操作不会超出数组的边界。

可以使用字符串字面量来初始化任何字符类型数组。

1、长度不同:

对于字符数组,其长度是固定的,其中任何一个数组元素都可以为 null 字符。因此,字符数组不一定是字符串。字符串的结尾是以null 字符结尾,所以长度会有所不同。

2、结尾不同

对于字符串,它必须以 null 字符(也就是'\0',用十六进制表示为 0x00)结尾,其后的字符不属于该字符串。

字符串一定是字符数组,它是最后一个字符为 null 字符的字符数组。字符数组则不会自动增加任何东西。

3、对于字符串,可以直接使用 printf 的 %s 打印其内容;而对字符数组,很显然使用 printf 的 %s 打印其内容是不合适的。

扩展资料:

字符串函数应用

1.连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat('11','aa')='11aa'

2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy('abdag',2,3)='bda’

3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:='abcde'delete(s,2,3)结果s:='ae'

4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abcinsert('12',s,2)结果s:='a12bc'

参考资料:百度百科  c语言(c语言)