C语言历史与字符指针初始化详解

需积分: 33 4 下载量 61 浏览量 更新于2024-07-13 收藏 8MB PPT 举报
本资源主要介绍了C语言中字符指针变量的赋初值方式以及与数组初始化的区别。在C语言中,字符指针是一种特殊的变量类型,它用来存储字符数据的地址。当我们声明一个字符指针`char *a`时,表示它是一个指向字符的指针,但未分配任何特定的内存。例如: ```c char *a; // 初始化为未指向任何特定字符 a = "I love China!"; // 此行将指针a指向字符串常量"I love China!"在内存中的位置 ``` 相比之下,数组初始化涉及的是连续的内存空间。对于字符数组`char str[14]`,它会分配足够的内存来存放14个字符,包括结束符`\0`。初始化数组时,需要用花括号包围整个字符串,如: ```c char str[14] = {"I love China!"}; // 这里直接将字符串常量复制到数组中,不需额外的指针操作 str[13] = '\0'; // 如果字符串长度超过数组长度,需手动添加结束符 ``` 在历史背景方面,C语言起源于B语言,B语言被设计为精练且接近硬件,但过于简化导致数据类型管理不足。1973年,D.M.Ritchie改进了B语言,形成了C语言,它在1975年的UNIX第6版发布后迅速受到关注。随着1978年《The C Programming Language》一书的出版,C语言逐渐成为标准,并被广泛应用于各种计算机平台。 ANSI(美国国家标准协会)在1983年发布了ANSI C标准,后续不断修订,以适应不同的系统需求。不同版本的C语言编译器可能存在细微的语法差异,因此在学习和使用时,需要注意所使用的编译器特性和文档说明。 总结来说,这资源深入讲解了C语言中字符指针和数组初始化的基础概念,以及C语言发展的重要里程碑,帮助读者理解C语言的起源、特点和应用环境。