C++编程:字符数组的字符串赋值方式解析
需积分: 9 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语言的调试可能较为困难,但只要深入理解其语法规则,编写和调试高质量的程序是完全可行的。
195 浏览量
146 浏览量
2021-12-04 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2014-03-28 上传
点击了解资源详情
无不散席
- 粉丝: 32
- 资源: 2万+