C++编程:字符数组的字符串赋值方式解析

需积分: 9 2 下载量 153 浏览量 更新于2024-08-16 收藏 8.66MB PPT 举报
"这篇内容来自《C++程序设计》(谭浩强完整版),主要讨论了如何用字符串的形式为字符数组赋初值以及C++语言的一些基本特点和历史背景。" 在C++编程中,字符数组是存储字符串的重要数据结构。文章通过两个示例展示了两种不同的初始化方式: 1. 直接使用字符串字面量初始化: ```cpp char c[] = {"I am a boy"}; ``` 这种初始化方式会自动在字符串末尾添加一个空字符`'\0'`作为字符串结束标志,因此实际占用的字节数是11个(包括末尾的`'\0'`)。 2. 使用字符列表初始化: ```cpp char a[] = {'I', ' ', 'a', 'm', ' ', 'a', ' ', 'b', 'o', 'y'}; ``` 这种方式不包含隐含的`'\0'`,因此长度为10个字节。如果想要在末尾加上`'\0'`,需要手动添加,如`{'I', ' ', 'a', 'm', ' ', 'a', ' ', 'b', 'o', 'y', '\0'}`。 当数组定义的长度大于字符串长度时,剩余的部分会被填充为`'\0'`,确保数组是一个有效的C风格字符串。例如: ```cpp char c[10] = "CHINA"; ``` 这里,由于数组长度为10,所以会填充4个`'\0'`字符,形成一个长度为5的字符串,后续4个字节都是`'\0'`。 接着,内容简述了C++语言的发展历程,起源于20世纪60年代的BCPL和B语言,由Dennis Ritchie和Brian Kernighan在B语言基础上发展出C语言,主要用于编写UNIX操作系统。C++是C语言的扩展,增加了面向对象和泛型编程等特性。 C语言的特点包括: 1. 结构化语言,简洁且灵活,既能处理系统级编程,也能应对控制程序和科学计算。 2. 同时具备高级语言和汇编语言的特点,支持丰富的运算符和位运算,适合处理复杂的数据结构。 3. 程序可移植性强,能在不同平台间轻松移植。 4. 语法结构相对宽松,赋予程序员较大的设计自由度,但这也意味着调试程序可能更具挑战性,尤其是对于初学者。 虽然C语言的调试可能较为困难,但只要深入理解其语法规则,编写和调试高质量的程序是完全可行的。