一、问题
如题,字符串和字符数组有什么区别?
二、解答
在不严格的情况下,可以说字符数组就是字符串。 严格来讲,字符数组强调数组,是多个个体的集合;字符串是由多个个体构成的⼀个整体。
作为整体操作的字符串,能作为整体的基础是因为它的最后有⼀个结束标志' \0 ',因此,可以说有结束标志的⼀维字符数组就是字符串。
我们常说字符串处理函数,却从来不说字符数组处理函数,因为没有结束标志的字符数组是不能使⽤这组函数的。
如果⼈的姓名只由 26 个字母组成,现有⼀个字符数组有26 个字母,它们是所有姓名字符的来源,我们可以说姓名中的每个字母来⾃⼀个字符数组,但不能说来⾃⼀个字符串, 但姓名是⼀个字符串。这就是整体和个体集合的问题。姓名是⼀个整体,放在⼀起才有意义,⽽来源字符串的集合放在⼀起也没有独⽴意义。
字符串是⼀维的,字符数组可以是⼆维的、多维的。尽管可以有字符串数组,在字符串数组中,单个字符串仍然是⼀维的。
三、总结
C语⾔中没有字符串这种数据类型,它是由⼀维字符数组加上结束标志构成的。