C语言入门:字符串初始化与字符数组

需积分: 12 1 下载量 68 浏览量 更新于2024-08-24 收藏 5.67MB PPT 举报
"C语言第三版谭浩强-字符串初始化与C语言历史" 在C语言中,字符串是由字符组成的序列,通常以空字符'\0'作为结束标记。在初始化字符数组时,我们可以使用字符串常量来简化这个过程。例如,声明一个字符数组并用字符串常量初始化可以这样写: ```c char c[] = {"I am happy"}; ``` 这里,字符数组`c`会自动存储"I am happy"以及结尾的空字符'\0'。值得注意的是,我们也可以省略花括号,直接写成: ```c char c[] = "I am happy"; ``` 这两种方式在效果上是等价的。它们等同于以下逐个字符初始化的形式: ```c char c[] = {'I', ' ', 'a', 'm', ' ', 'h', 'a', 'p', 'p', 'y', '\0'}; ``` 字符串常量在内存中是以字符数组的形式存在的,因此,当我们用字符串常量初始化字符数组时,数组的大小会自动调整以容纳所有的字符,包括结束的空字符'\0'。 在实例`char c[10] = {"China"}`中,数组`c`的大小为10,前5个元素分别存储' C', 'h', 'i', 'n', 'a',第六个元素为'\0',由于数组大小限制,后面的4个元素也会被自动设置为空字符'\0'。这是因为在C语言中,字符串总是以'\0'作为结束标志,即使在数组边界之外,编译器也会尝试添加这个结束符。 C语言的结构和程序执行过程也是理解C语言的基础。C语言起源于贝尔实验室,由D.M.Ritchie在B语言的基础上创建,最初用于编写UNIX操作系统。随着时间的推移,C语言逐渐流行并标准化,形成了ANSI C和后来的ISO C标准。不同的C编译器可能会有轻微的差异,所以理解和熟悉所使用的特定编译器的特性是很重要的。 学习C语言时,我们需要掌握它的特点,如直接对硬件操作的能力、强大的数据类型系统、结构化编程的特性以及高效的程序执行效率。C语言程序的结构通常包括函数定义、变量声明和控制流程语句。在计算机上运行C程序,通常需要经过编译、链接等步骤,将源代码转换为机器可执行的二进制文件。 理解和熟练运用字符串常量初始化字符数组是C语言编程中的基本技能,而了解C语言的历史和标准可以帮助我们更好地理解其设计原则和使用规范。