字符数组与字符串有什么区别,是一个意思吗
最为明显的差别是二者装载有样多字符时,用函数strlen()返回的长度不同,且字符串的长度比字符数组长度大1。这是因为在初始化时,字符串是以指针标记其起始地址,而数组则以数组名标记的,数组名是常量,不像指针那样可以使用++或--使其指向不同位置的字符。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-09-12
在C语言里这两个概念差不多,因为C里没有string这一概念,C++里才出现字符串string,实际上就是一个字符串的类,实现的过程还是用字符数组,只不过封装好了便于使用
第2个回答 2013-09-12
字符串是指以一个0值(空字符'\0')结束的字符序列,记写分为:
a.字面值常量(即用双引号括起来的序列)。如:
"i'm a string."
b.字符型数组。如:
char achStr[3 + 1] = {'1','2','c','\0'};
achStr是一个字符数组,但achStr中连续的存放内容是一个字符串"123c" ,
如果achStr[3] = 'a';
那么achStr是一个字符数组是不变的事实,但现在achStr的内容只是连续的字符序列。
a.字面值常量(即用双引号括起来的序列)。如:
"i'm a string."
b.字符型数组。如:
char achStr[3 + 1] = {'1','2','c','\0'};
achStr是一个字符数组,但achStr中连续的存放内容是一个字符串"123c" ,
如果achStr[3] = 'a';
那么achStr是一个字符数组是不变的事实,但现在achStr的内容只是连续的字符序列。