C语言历史背景与字符指针初始化

需积分: 12 1 下载量 50 浏览量 更新于2024-08-24 收藏 5.67MB PPT 举报
本资源主要讨论的是C语言中字符指针变量的赋初值以及与数组初始化的区别。在C语言中,字符指针是一种特殊的指针类型,用于存储单个字符或字符串。当我们声明一个字符指针变量如`char *a`时,实际上并未给它分配内存,它只是一个指向内存位置的空指针。赋初值时,我们使用`*a = "I love China!"`这样的形式,将一个字符串常量的首地址赋给指针,这样指针就指向了字符串的存储区域。 另一方面,数组初始化涉及到的是固定大小的连续内存空间。例如,声明`char str[14] = {"I love China!"};`时,数组`str`会被预分配14个字符的空间,并且这个空间被一次性填充了字符串"I love China!"。这里,初始化的过程相当于同时分配了内存并赋值,而不能分开理解为先声明后赋值。 关于C语言的历史背景,该资源提到C语言起源于1970年的B语言,由美国贝尔实验室设计,主要用于UNIX操作系统的开发。C语言由D.M.Ritchie改进,特别是在数据类型的管理上做了增强,使得它既能保持B语言的精炼和硬件接近性,又克服了数据无类型的局限。随着1975年UNIX第6版的发布,C语言因其优势得到了广泛关注,并在随后的几十年里不断发展壮大,成为了全球广泛使用的编程语言之一。 1983年,ANSI发布了ANSIC标准,进一步规范了C语言,之后的标准如87ANSIC和ISO9899—1990的出现,使得C语言更加规范化和统一。不同的C编译系统可能支持不同的功能和语法,因此使用时需要了解所用编译器的具体特性。书中所述内容主要基于ANSIC,但读者应结合实际使用的编译系统进行理解和实践。 总结来说,本资源涵盖了C语言基础概念中的字符指针和数组初始化,以及C语言发展的重要里程碑,对于学习和理解C语言的历史演进和技术细节具有重要意义。