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

如题所述

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个回答  2015-05-21
字符串是不可变的任何的操作本质都是新建字符串并将原来的值复制过来。字符数组是可以对其中的单个元素直接修改的。对字符串整体读写当然可以啊,读铁定没问题,写的话就是我一开始说倒的问题,表象和实质是有区别的本回答被网友采纳
相似回答