C++字符数组初始化方法详解

需积分: 10 13 下载量 187 浏览量 更新于2024-08-18 收藏 8.66MB PPT 举报
在谭浩强的经典C++课件中,章节讨论了如何使用字符串形式为字符数组赋初值,这是一个基础但重要的概念。首先,我们了解到字符数组的初始化有两种常见方式: 1. 使用花括号{}来定义,例如`char c[] = {"I am a boy"};` 这种方式会自动在字符串末尾添加`\0`(空字符),即使字符串长度小于数组长度,剩余的空间也会填充`\0`,以确保数组以空结束。这种写法的数组长度会被视为实际字符串长度加上`\0`占用的1个字节。 2. 直接使用单个字符或字符数组,如`char a[] = {'I', ' ', 'a', 'm', ' ', 'a', ' ', 'b', 'o', 'y'};` 这种方法需要手动添加`\0`来终止字符串。这种方式的长度等于字符数组中的元素数量,不包括最后一个'\0'。 当使用字符串字面量给字符数组赋值时,需要注意字符数组的长度可能会影响内存分配。例如,`char c[10] = "CHINA";` 这里虽然数组长度为10,但由于字符串"CHINA"包含5个字符加上结束符`\0`,所以实际上占据了6个字节的空间。 C++语言的发展起源于20世纪60年代的BCPL和70年代的B语言,由Dennis Ritchie和Brian Kernighan在B语言基础上改进而成的C语言,最初用于UNIX操作系统。C++是在C语言基础上的增强版,结合了结构化编程、高级语言特性(如类和对象)以及底层性能,使之成为一个强大的工具。 C语言的特点包括结构化编程、灵活性和高效性,它支持丰富的运算符和灵活的数据结构,使得程序编写高效且目标代码质量高。同时,C语言具有良好的可移植性,程序可以在不同硬件平台上运行,但语法不够严谨,对初学者来说可能较难理解和调试。然而,只要熟悉语法规则,C++编程还是相对可学的。 谭浩强的C++课件讲解了字符数组初始化的细节,以及C++语言的历史、特点和学习曲线,这对于理解和编写高效的C++程序至关重要。理解这些基础知识有助于程序员们更有效地利用C++进行编程。