字符串与一般字符数组的最大区别在哪里,能不能对字符串进行整体的读写?

如题所述

C语言中字符串与一般字符数组的最大区别在于:字符串常量的最后由系统加上一个'\0',而字符数组不会添加。字符串能通过scanf()、printf()等函数进行整体的读写。

C语言中没有字符串类型,字符串是存放在字符型数组中的。在C语言中,是将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符'\0'作为结束标志 。

在C语言中,scanf("%s",a)形式的输入函数可以对字符串进行整体的输入。printf("%s",a)形式的输出函数可以对字符串进行整体的输出。其中%s格式符就是对字符串的格式输出形式。

扩展资料:

字符数组的初始化:

例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。

字符串的初始化:

如:char c[ ]="C program";  注意:此时数组c的长度不是9,而是10。因为字符串常量的最后由系统加上一个'\0'。

参考资料来源:百度百科-字符数组

参考资料来源:百度百科-scanf

参考资料来源:百度百科-printf()

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-28
字符串一定都是\0结尾的,但字符数组就不一定, 而字符串的各种操作函数都是以\0为结尾的. 所以,字符串整体读写可以用字符串函数实现. 当字符数组用\0结尾时,就可以当字符串用.如果没用\0结尾,就不能当字符串用了.
第2个回答  2014-09-29
字符串可以进行整体读写,而字符数组不能。本回答被提问者采纳
相似回答