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

需积分: 7 0 下载量 64 浏览量 更新于2024-08-24 收藏 7.98MB PPT 举报
"C程序设计第三版,作者谭浩强,高清版" 在C语言中,字符串常量可以用来初始化字符数组。这是一种非常实用的方法,它允许我们方便地将字符串存储到数组中。例如,我们可以这样声明和初始化一个字符数组: ```c char c[] = "I am happy"; ``` 这行代码将字符数组`c`初始化为包含字符串"I am happy"的数组,包括结束符'\0'。这里省略了花括号,因为编译器会自动推断出数组的大小以容纳整个字符串,包括结束符。 同时,这种方式与显式指定每个字符的方式等价: ```c char c[] = {'I', ' ', 'a', 'm', ' ', 'h', 'a', 'p', 'p', 'y', '\0'}; ``` 在这里,我们逐个列出了字符串中的字符,包括空格,并以'\0'作为字符串的结束标志。 值得注意的是,当初始化字符数组时,如果数组大小小于字符串的实际长度,那么超出数组范围的字符将不会被存储,而字符串的结束符'\0'是必须的。例如,如果声明了一个大小为10的字符数组: ```c char c[10] = "China"; ``` 在这种情况下,数组`c`的前5个元素分别对应"C", "h", "i", "n", "a",第六个元素是'\0',表示字符串的结束。由于数组大小只有10,剩下的4个元素将不会被初始化,它们的状态是未定义的,但通常会默认填充为0,即空字符。 C语言的这种特性使得处理字符串变得简单,特别是在处理文本数据时。然而,程序员需要注意字符数组的大小,以确保能正确容纳字符串,避免内存溢出的问题。 C语言是1970年代由Dennis Ritchie在B语言基础上开发的,它的出现有着深厚的历史背景。C语言因其简洁、高效和接近底层硬件的特性,最初被用于编写UNIX操作系统。随着《The C Programming Language》(通常称为K&R)的出版,C语言逐渐流行并成为一种广泛使用的编程语言。经过多次标准的更新,如ANSI C和ISO C,C语言现在已经成为国际标准,并且在各种类型的计算机上都有相应的编译器支持。尽管不同编译器可能在某些细节上有差异,但基本语法和核心概念保持一致。学习C语言时,理解所使用的编译系统的特点是很重要的。